Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
944e11d
Bump the nuget-deps group with 1 update (#831)
dependabot[bot] Jul 13, 2026
ecf952a
Add lossless DTS timestamp repair and verify reclassification (#833)
ptr727 Jul 13, 2026
5f5f109
Keep a detected unrepairable DTS reported as RepairFailed (#834)
ptr727 Jul 13, 2026
9137b2b
Ignore ffmpeg repeat markers and log unique verify errors (#835)
ptr727 Jul 13, 2026
ef79cd8
Produce full output for the setts timestamp repair (#836)
ptr727 Jul 14, 2026
b25f8c7
Restrict --testsnippets to slow encode operations (#837)
ptr727 Jul 14, 2026
68331a1
Bump softprops/action-gh-release in the actions-deps group (#838)
dependabot[bot] Jul 14, 2026
cceb70b
Scope setts to audio DTS and verify A/V sync in the repair gate (#840)
ptr727 Jul 14, 2026
71465d8
AGENTS: add author-identity git rule (#841)
ptr727 Jul 14, 2026
054d273
Bump the nuget-deps group with 5 updates (#843)
dependabot[bot] Jul 15, 2026
aa49adc
Fix DTS repair escalation and idet parse regressions (#844)
ptr727 Jul 15, 2026
b01e787
Document the README + HISTORY cspell CI scope in CODESTYLE (#846)
ptr727 Jul 15, 2026
fb6cd8a
Improve tool execution and failure logging (#845)
ptr727 Jul 16, 2026
2fad537
Bump actions/setup-dotnet from 5.4.0 to 6.0.0 in the actions-deps gro…
dependabot[bot] Jul 16, 2026
107fc1a
Bump the nuget-deps group with 2 updates (#851)
dependabot[bot] Jul 16, 2026
f15c6fb
Refresh repo-config carry to current reference; add self-audit carry …
ptr727 Jul 16, 2026
d99097b
Add Regression Test Suite and Reduced-Corpus Tooling (#855)
ptr727 Jul 17, 2026
9671ff2
Include the Operation and File Name in Verify Failure Logs (#857)
ptr727 Jul 17, 2026
54bf89f
Address Promotion Review Nits: Self-Contained Comment and Clearer Loc…
ptr727 Jul 17, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-executable-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:
steps:

- name: Setup .NET SDK step
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.x

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/build-release-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,7 @@ jobs:
# fail_on_unmatched_files catches a missing or misnamed PlexCleaner.7z.
- name: Create GitHub release step
if: ${{ steps.release-exists.outputs.exists == 'false' || github.event_name == 'workflow_dispatch' }}
uses: softprops/action-gh-release@718ea10b132b3b2eba29c1007bb80653f286566b # v3.0.1
uses: softprops/action-gh-release@3d0d9888cb7fd7b750713d6e236d1fcb99157228 # v3.0.2
with:
generate_release_notes: true
tag_name: ${{ needs.get-version.outputs.SemVer2 }}
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/get-version-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ jobs:
steps:

- name: Setup .NET SDK step
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.x

Expand Down
27 changes: 13 additions & 14 deletions .github/workflows/merge-bot-pull-request.yml
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
name: Merge bot pull request action

# Enable auto-merge once per PR on opened/reopened; disable it when a maintainer pushes to a bot branch. Merge
# method by base branch (develop = squash, main = merge). App token so the merge fires downstream workflows
# (GITHUB_TOKEN pushes don't) and so the disable job has write access on read-only Dependabot PRs.

# `pull_request_target` (not `pull_request`): these jobs hold the App private key, so the workflow definition and
# its action SHAs must resolve from the trusted base branch, not the PR head. Safe because no job checks out PR
# code - each only runs `gh pr merge` against the PR by URL.
# Auto-merges in-repo Dependabot PRs: enable on opened/reopened, disable on a maintainer push. Carried from the
# fleet reference trimmed to the Dependabot jobs - no codegen bot opens PRs against this repo.
# - Merge method by base: develop = squash, main = merge.
# - App token, not GITHUB_TOKEN: fires downstream workflows on merge, and grants write on read-only Dependabot PRs.
# - pull_request_target, not pull_request: jobs hold the App key, so the workflow + action SHAs resolve from the
# trusted base, not PR head. Safe because no job checks out PR code (each runs gh pr merge by URL).
on:
pull_request_target:
types: [opened, reopened, synchronize]

# Per-PR group: under `pull_request_target` `github.ref` is the base branch, which would serialize every bot PR
# against that base; key on the PR number so each PR's events queue independently. `cancel-in-progress: false` so a
# follow-up synchronize doesn't cancel an in-flight `opened` run before it enables auto-merge.
# Concurrency keys on the PR number, not github.ref (the base branch under pull_request_target, which would
# serialize every bot PR against it), so each PR queues independently. cancel-in-progress: false so a follow-up
# synchronize doesn't cancel an in-flight opened run before it enables auto-merge.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number }}
cancel-in-progress: false
Expand All @@ -23,8 +22,7 @@ jobs:
merge-dependabot:
name: Merge dependabot pull request job
runs-on: ubuntu-latest
# In-repo Dependabot PRs only, on opened/reopened so the disable job stays sticky. Every tier
# auto-merges, semver-major included: the required checks are the gate, not the version bump.
# Dependabot PRs from this repo (not forks). Only on opened/reopened so the disable job stays sticky.
if: >-
(github.event.action == 'opened' || github.event.action == 'reopened') &&
github.event.pull_request.user.login == 'dependabot[bot]' &&
Expand All @@ -42,6 +40,7 @@ jobs:
client-id: ${{ secrets.CODEGEN_APP_CLIENT_ID }}
private-key: ${{ secrets.CODEGEN_APP_PRIVATE_KEY }}

# Auto-merge every tier, semver-major included: the required checks are the gate, not the bump magnitude.
- name: Merge pull request step
run: |
set -euo pipefail
Expand All @@ -53,7 +52,7 @@ jobs:
exit 1
;;
esac
gh pr merge --auto --delete-branch "$method" "$PR_URL"
gh pr merge --auto "$method" "$PR_URL"
env:
PR_URL: ${{ github.event.pull_request.html_url }}
GH_TOKEN: ${{ steps.app-token.outputs.token }}
Expand All @@ -62,7 +61,7 @@ jobs:
name: Disable auto-merge on maintainer push job
runs-on: ubuntu-latest
# Fires when a maintainer pushes to a bot's branch (synchronize, actor != bot). Disables auto-merge so the
# maintainer's commits don't merge with the bot's; they re-enable it manually. The disable call is idempotent.
# maintainer's commits don't merge with the bot's, and they re-enable it manually. The disable call is idempotent.
if: >-
github.event.action == 'synchronize' &&
github.event.pull_request.head.repo.full_name == github.repository &&
Expand Down
19 changes: 17 additions & 2 deletions .github/workflows/validate-task.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
steps:

- name: Setup .NET SDK step
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.x

Expand Down Expand Up @@ -52,7 +52,7 @@ jobs:
steps:

- name: Setup .NET SDK step
uses: actions/setup-dotnet@26b0ec14cb23fa6904739307f278c14f94c95bf1 # v5.4.0
uses: actions/setup-dotnet@a98b56852c35b8e3190ac28c8c2271da59106c68 # v6.0.0
with:
dotnet-version: 10.x

Expand Down Expand Up @@ -84,6 +84,21 @@ jobs:
HISTORY.md
incremental_files_only: false

# Lint the RegressionTests Python tooling with ruff + mypy via uvx (no project install; the
# tooling is stdlib-only). Versions are pinned here in CI (bumpable) for a reproducible gate;
# the VSCode tasks run the latest tools, so local may differ slightly by design. Config lives
# in RegressionTests/pyproject.toml, so run from that directory (mypy resolves config from CWD).
- name: Setup uv step
uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2

- name: Lint Python step
working-directory: RegressionTests
run: |
set -euo pipefail
uvx ruff@0.15.22 check .
uvx ruff@0.15.22 format --check .
uvx mypy@2.3.0 .

- name: Lint workflows step
uses: raven-actions/actionlint@3d39aea434753780c3b3d4a1a31c854b4dbf49d7 # v2.2.0

Expand Down
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -12,3 +12,9 @@ coverage/

*.log
*.user

# Python tooling (RegressionTests/)
__pycache__/
*.pyc
.mypy_cache/
.ruff_cache/
59 changes: 58 additions & 1 deletion .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -323,6 +323,60 @@
"clear": false
}
},
{
"label": "Lint: Ruff",
"type": "shell",
"command": "uvx",
"args": [
"ruff",
"check",
"."
],
"options": {
"cwd": "${workspaceFolder}/RegressionTests"
},
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
"clear": false
}
},
{
"label": "Lint: Ruff Format",
"type": "shell",
"command": "uvx",
"args": [
"ruff",
"format",
"--check",
"."
],
"options": {
"cwd": "${workspaceFolder}/RegressionTests"
},
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
"clear": false
}
},
{
"label": "Lint: Mypy",
"type": "shell",
"command": "uvx",
"args": [
"mypy",
"."
],
"options": {
"cwd": "${workspaceFolder}/RegressionTests"
},
"problemMatcher": [],
"presentation": {
"showReuseMessage": false,
"clear": false
}
},
{
"label": "Lint: All (CI parity)",
"dependsOrder": "sequence",
Expand All @@ -332,7 +386,10 @@
"Lint: EditorConfig",
"Lint: Workflows",
"Lint: Markdown",
"Lint: Spelling"
"Lint: Spelling",
"Lint: Ruff",
"Lint: Ruff Format",
"Lint: Mypy"
],
"problemMatcher": [],
"presentation": {
Expand Down
Loading