Conversation
Bumps ptr727.LanguageTags from 1.1.14 to 1.2.1 --- updated-dependencies: - dependency-name: ptr727.LanguageTags dependency-version: 1.2.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-4ddc73cb5d Bump the nuget-deps group with 1 update
Bumps csharpier from 1.2.5 to 1.2.6 --- updated-dependencies: - dependency-name: csharpier dependency-version: 1.2.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-1b36204276 Bump the nuget-deps group with 1 update
Bumps Microsoft.SourceLink.GitHub from 10.0.102 to 10.0.103 Bumps Serilog from 4.3.0 to 4.3.1 Bumps System.CommandLine from 2.0.2 to 2.0.3 --- updated-dependencies: - dependency-name: Microsoft.SourceLink.GitHub dependency-version: 10.0.103 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps - dependency-name: Serilog dependency-version: 4.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps - dependency-name: Serilog dependency-version: 4.3.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps - dependency-name: System.CommandLine dependency-version: 2.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-f3aae0d3f1 Bump the nuget-deps group with 3 updates
Bumps ptr727.LanguageTags from 1.2.3 to 1.2.7 --- updated-dependencies: - dependency-name: ptr727.LanguageTags dependency-version: 1.2.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-47767a64bc Bump the nuget-deps group with 1 update
Bumps AwesomeAssertions from 9.3.0 to 9.4.0 Bumps coverlet.collector from 6.0.4 to 8.0.0 Bumps dotnet-outdated-tool from 4.6.9 to 4.7.0 Bumps ptr727.LanguageTags from 1.2.7 to 1.2.11 --- updated-dependencies: - dependency-name: AwesomeAssertions dependency-version: 9.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-deps - dependency-name: coverlet.collector dependency-version: 8.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: nuget-deps - dependency-name: dotnet-outdated-tool dependency-version: 4.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-deps - dependency-name: ptr727.LanguageTags dependency-version: 1.2.11 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps Microsoft.NET.Test.Sdk from 18.0.1 to 18.3.0 Bumps ptr727.LanguageTags from 1.2.11 to 1.2.13 --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-deps - dependency-name: ptr727.LanguageTags dependency-version: 1.2.13 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-05078ff150 Bump the nuget-deps group with 2 updates
Bumps dotnet-outdated-tool from 4.7.0 to 4.7.1 --- updated-dependencies: - dependency-name: dotnet-outdated-tool dependency-version: 4.7.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-0605acdc9c Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 2 updates: [actions/upload-artifact](https://github.com/actions/upload-artifact) and [actions/download-artifact](https://github.com/actions/download-artifact). Updates `actions/upload-artifact` from 6 to 7 - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](actions/upload-artifact@v6...v7) Updates `actions/download-artifact` from 7 to 8 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v7...v8) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Pieter Viljoen <ptr727@users.noreply.github.com>
Bumps ptr727.LanguageTags from 1.2.13 to 1.2.17 --- updated-dependencies: - dependency-name: ptr727.LanguageTags dependency-version: 1.2.17 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-edf4376387 Bump the nuget-deps group with 1 update
Bumps Microsoft.SourceLink.GitHub from 10.0.103 to 10.0.200 Bumps System.CommandLine from 2.0.3 to 2.0.4 --- updated-dependencies: - dependency-name: Microsoft.SourceLink.GitHub dependency-version: 10.0.200 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps - dependency-name: System.CommandLine dependency-version: 2.0.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-46ccc45047 Bump the nuget-deps group with 2 updates
Bumps husky from 0.8.0 to 0.9.0 --- updated-dependencies: - dependency-name: husky dependency-version: 0.9.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-ef2d746a42 Bump the nuget-deps group with 1 update
Bumps Microsoft.SourceLink.GitHub from 10.0.200 to 10.0.201 Bumps System.CommandLine from 2.0.4 to 2.0.5 --- updated-dependencies: - dependency-name: Microsoft.SourceLink.GitHub dependency-version: 10.0.201 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps - dependency-name: System.CommandLine dependency-version: 2.0.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-19196eb71f Bump the nuget-deps group with 2 updates
Bumps husky from 0.9.0 to 0.9.1 --- updated-dependencies: - dependency-name: husky dependency-version: 0.9.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…op/nuget-deps-8bbbd064bf Bump the nuget-deps group with 1 update
Bumps coverlet.collector from 8.0.0 to 8.0.1 --- updated-dependencies: - dependency-name: coverlet.collector dependency-version: 8.0.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…/develop/nuget-deps-72681b3a68 Bump the nuget-deps group with 1 update
Bumps CliWrap from 3.10.0 to 3.10.1 --- updated-dependencies: - dependency-name: CliWrap dependency-version: 3.10.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-b8fb38f30d Bump the nuget-deps group with 1 update
Bumps ptr727.LanguageTags from 1.2.17 to 1.2.23 --- updated-dependencies: - dependency-name: ptr727.LanguageTags dependency-version: 1.2.23 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-7284b00eb2 Bump the nuget-deps group with 1 update
Bumps the actions-deps group with 4 updates in the / directory: [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action), [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [docker/login-action](https://github.com/docker/login-action) and [docker/build-push-action](https://github.com/docker/build-push-action). Updates `docker/setup-qemu-action` from 3 to 4 - [Release notes](https://github.com/docker/setup-qemu-action/releases) - [Commits](docker/setup-qemu-action@v3...v4) Updates `docker/setup-buildx-action` from 3 to 4 - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](docker/setup-buildx-action@v3...v4) Updates `docker/login-action` from 3 to 4 - [Release notes](https://github.com/docker/login-action/releases) - [Commits](docker/login-action@v3...v4) Updates `docker/build-push-action` from 6 to 7 - [Release notes](https://github.com/docker/build-push-action/releases) - [Commits](docker/build-push-action@v6...v7) --- updated-dependencies: - dependency-name: docker/setup-qemu-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: docker/setup-buildx-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: docker/login-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: docker/build-push-action dependency-version: '7' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps Microsoft.NET.Test.Sdk from 18.3.0 to 18.4.0 --- updated-dependencies: - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…/develop/nuget-deps-92e0d09f4d Bump the nuget-deps group with 1 update
Bumps InsaneGenius.Utilities from 3.4.1 to 3.4.3 --- updated-dependencies: - dependency-name: InsaneGenius.Utilities dependency-version: 3.4.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-2a29c1b71d Bump the nuget-deps group with 1 update
Bumps ptr727.LanguageTags from 1.2.23 to 1.2.25 --- updated-dependencies: - dependency-name: ptr727.LanguageTags dependency-version: 1.2.25 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-9e6340d04f Bump the nuget-deps group with 1 update
Bumps ptr727.LanguageTags from 1.2.25 to 1.2.26 --- updated-dependencies: - dependency-name: ptr727.LanguageTags dependency-version: 1.2.26 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-92e5d3e56a Bump the nuget-deps group with 1 update
Bumps Microsoft.SourceLink.GitHub from 10.0.201 to 10.0.202 Bumps System.CommandLine from 2.0.5 to 2.0.6 --- updated-dependencies: - dependency-name: Microsoft.SourceLink.GitHub dependency-version: 10.0.202 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps - dependency-name: System.CommandLine dependency-version: 2.0.6 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com>
…lop/nuget-deps-217b3873f1 Bump the nuget-deps group with 2 updates
…682) * chore: Consolidate project structure and update build configuration - Added CODESTYLE.md for code style and formatting rules. - Introduced Directory.Build.props and Directory.Packages.props for centralized project settings and package versions. - Refactored Docker build scripts and Dockerfile for improved clarity and functionality. - Removed obsolete UnitTest.sh script and integrated testing directly into Build.sh. - Updated HISTORY.md to reflect structural changes and new version 3.16. - Updated LICENSE to reflect copyright years. - Adjusted PlexCleaner and PlexCleanerTests project files to align with new build settings. - Refactored test classes to remove unnecessary fixture dependencies. - Updated README.md to reflect the latest version and changes. - Updated version.json to version 3.16. Signed-off-by: Pieter Viljoen <ptr727@users.noreply.github.com> * chore: Update .dockerignore to include .artifacts directory and modify .editorconfig for CA5392 severity description Signed-off-by: Pieter Viljoen <ptr727@users.noreply.github.com> * fix: Correct BUILD_ASSEMBLY_VERSION to use AssemblyVersion instead of AssemblyFileVersion Signed-off-by: Pieter Viljoen <ptr727@users.noreply.github.com> --------- Signed-off-by: Pieter Viljoen <ptr727@users.noreply.github.com>
Bumps the actions-deps group with 3 updates in the / directory: [docker/login-action](https://github.com/docker/login-action), [softprops/action-gh-release](https://github.com/softprops/action-gh-release) and [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata). Updates `docker/login-action` from 3 to 4 - [Release notes](https://github.com/docker/login-action/releases) - [Commits](docker/login-action@v3...v4) Updates `softprops/action-gh-release` from 2 to 3 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@v2...v3) Updates `dependabot/fetch-metadata` from 2 to 3 - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](dependabot/fetch-metadata@v2...v3) --- updated-dependencies: - dependency-name: docker/login-action dependency-version: '4' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: softprops/action-gh-release dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps - dependency-name: dependabot/fetch-metadata dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions-deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps ptr727.LanguageTags from 1.2.26 to 1.2.29 --- updated-dependencies: - dependency-name: ptr727.LanguageTags dependency-version: 1.2.29 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps coverlet.collector from 8.0.1 to 10.0.0 Bumps Microsoft.NET.Test.Sdk from 18.4.0 to 18.5.1 Bumps Microsoft.SourceLink.GitHub from 10.0.202 to 10.0.203 Bumps System.CommandLine from 2.0.6 to 2.0.7 --- updated-dependencies: - dependency-name: coverlet.collector dependency-version: 10.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: nuget-deps - dependency-name: Microsoft.NET.Test.Sdk dependency-version: 18.5.1 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: nuget-deps - dependency-name: Microsoft.SourceLink.GitHub dependency-version: 10.0.203 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps - dependency-name: System.CommandLine dependency-version: 2.0.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: nuget-deps ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
) * Align dependabot, merge-bot, and release flow for both branches - dependabot.yml: also target develop so both auto-publishing branches stay on the same baseline. - merge-bot-pull-request.yml: branch-aware merge method (squash for develop, merge for main) and App-token auth so post-merge pushes trigger publish-release and publish-periodic-docker-release on develop instead of being skipped by GitHub's recursion guard. - build-release-task.yml: set target_commitish=github.sha so release tags land on the triggering commit, not the repo default branch; fail_on_unmatched_files; pin softprops/action-gh-release to v3.0.0. - AGENTS.md: document the feature->develop->main flow, develop->main promotion via merge commit, dual-publish release flow, dependabot rationale, and merge-bot design. - copilot-instructions.md: terse summary section pointing at AGENTS.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Pin GitHub Actions to commit SHAs across all workflows Replace floating major-version refs (@v5/@v6/@v7/@v8/@v3/@v4/@v1) and the @master ref on dotnet/nbgv with full commit SHAs plus version comments, matching the pattern already used for create-github-app-token, fetch-metadata, and softprops/action-gh-release. Pins make supply-chain attacks via tag mutation impossible and let dependabot bump them mechanically. Also drops the verbose target_commitish rationale comment from build-release-task.yml; the field is self-explanatory in this repo's context. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Document GitHub Actions SHA-pinning policy The previous commit pinned every third-party action to a commit SHA but didn't capture the rule itself. Add a "GitHub Actions pinning" section to AGENTS.md explaining what to pin, why floating tags are unsafe, and how to resolve a SHA when adding a new action. Add a one-line summary to copilot-instructions.md so AI agents don't reintroduce floating refs in suggestions. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Re-indent publish-periodic-docker-release.yml step lists Every other workflow file in the repo uses the over-indented YAML style where list items under `steps:` are at parent_indent+2 (e.g., `steps:` at column 4, `- name:` at column 6). This file alone used the compact style with both at the same column. Both are valid YAML and GitHub Actions accepts either, but consistency matters more than syntactic flexibility. Bring this file in line with the other six. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Document Dependabot secret duplication and tag-comment convention Two clarifications surfaced by Copilot review on PR #692: 1. The merge-bot uses an App token minted from CODEGEN_APP_* secrets. For Dependabot-authored pull_request events, GitHub only exposes secrets from the Dependabot namespace (Settings → Secrets → Dependabot), not the regular Actions namespace. The secrets must exist in both, or the App-token step gets empty inputs at runtime. This is non-obvious and worth calling out explicitly so future maintainers don't strip the Dependabot duplicate as redundant. 2. The SHA-pinning comment convention is "match the upstream release tag" — usually # vX.Y.Z, but # v3 (or # master) when upstream only publishes major-only / branch tags. Don't fabricate a semver suffix; use what gh api repos/<owner>/<repo>/releases/latest returns as tag_name. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Main has been on the pre-refactor codebase (old kebab-cased workflow files, per-csproj versioning, no Directory.Packages.props) while develop has migrated to the new structure (centralized package management, reusable workflow tasks, branch-aware merge bot, SHA-pinned actions, dual-publish flow). The 8 dependabot bumps that landed on main since the last develop->main merge all targeted the old structure and don't carry forward. This is the surgical realignment: -s ours from develop's tip records main as a parent so a develop->main PR can produce a clean merge commit without conflicts, while keeping develop's tree as canonical. After this merge lands on main, main's tree matches develop's exactly, main's old commits remain in main's ancestry via parent-1 of the resulting merge commit, and future develop->main promotions create single merge commits with no recurring conflicts. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Promotes develop to main by aligning main with the refactored tree now used on develop, including the updated release/CI structure and centralized .NET build/package management that PlexCleaner uses going forward.
Changes:
- Bump NBGV base version to 3.16 and update release notes to reflect a structural promotion.
- Introduce centralized MSBuild + NuGet management (
Directory.Build.props,Directory.Packages.props) and simplify per-project.csprojfiles accordingly. - Replace legacy GitHub Actions workflows with kebab-case workflows built around reusable task workflows, plus a branch-aware Dependabot merge bot.
Reviewed changes
Copilot reviewed 98 out of 100 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| version.json | Bumps base version to 3.16 for NBGV-managed releases. |
| Sandbox/TestSomething.cs | Removes now-unneeded explicit usings; relies on implicit usings. |
| Sandbox/Sandbox.csproj | Switches Serilog reference to central package management (no Version attr). |
| Sandbox/Program.cs | Improves nullable handling and uses async JSON deserialization for settings. |
| README.md | Updates release notes and workflow status badge URLs to new workflow filenames. |
| PlexCleanerTests/WildcardTests.cs | Removes unused fixture injection / fields. |
| PlexCleanerTests/VersionParsingTests.cs | Removes unused fixture injection / fields. |
| PlexCleanerTests/PlexCleanerTests.csproj | Adopts central package versions; updates test/analyzer package references. |
| PlexCleanerTests/PlexCleanerFixture.cs | Tightens nullability annotations and adds analyzer suppression justifications for test cleanup. |
| PlexCleanerTests/FileNameEscapingTests.cs | Removes unused fixture injection / fields. |
| PlexCleanerTests/FfMpegIdetParsingTests.cs | Removes unused fixture injection / fields and redundant usings. |
| PlexCleanerTests/FfMpegIdetInfoSerializer.cs | Adjusts nullability annotations for serializer parameters. |
| PlexCleanerTests/CommandLineTests.cs | Removes unused fixture injection / fields. |
| PlexCleaner/VideoProps.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/VerifyOptions.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/TrackProps.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/Tools.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/ToolInfoJsonSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/TagMapSet.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/SubtitleProps.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/SidecarFileJsonSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/SidecarFile.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/SevenZipTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/SevenZipBuilder.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/SelectMediaProps.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/Program.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/ProcessResultJsonSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/ProcessOptions.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/ProcessFile.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/ProcessDriver.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/Process.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/PlexCleaner.csproj | Simplifies project file for central props/package versions; removes duplicated/centralized properties. |
| PlexCleaner/Monitor.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MkvToolJsonSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MkvPropEditTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MkvPropEditBuilder.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MkvMergeTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MkvMergeBuilder.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaToolInfo.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaProps.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaInfoXmlParser.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaInfoToolXmlSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaInfoToolJsonSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaInfoTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/MediaInfoBuilder.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/Language.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/KeepAwake.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/JsonSerialization.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/HandBrakeTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/HandBrakeBuilder.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/FfProbeTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/FfProbeBuilder.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/FfMpegToolJsonSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/FfMpegTool.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/FfMpegIdetInfo.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/FfMpegBuilder.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/Extensions.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/ConvertOptions.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/Convert.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/ConfigFileJsonSchema.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/CommandLineOptions.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/BitrateInfo.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner/Bitrate.cs | Removes redundant usings (implicit/global usings cleanup). |
| PlexCleaner.slnx | Updates solution items/virtual folders to match new workflow + root file layout. |
| PlexCleaner.code-workspace | Updates workspace settings and recommended extensions list. |
| LICENSE | Updates copyright year range. |
| HISTORY.md | Adds 3.16 entry describing structural consolidation. |
| Docker/UnitTest.sh | Removes standalone unit test script (tests moved into Build.sh). |
| Docker/Dockerfile | Renames/updates Dockerfile and build comments; copies new root build props for container build. |
| Docker/Build.sh | Adds explicit build+test steps; switches publish output to PublishDir property. |
| Directory.Packages.props | Introduces centralized package versions (CPM). |
| Directory.Build.props | Introduces shared MSBuild properties (TFM, analyzers, warnings-as-errors, CPM enablement). |
| CODESTYLE.md | Adds consolidated style/build/tooling rules documentation. |
| AGENTS.md | Adds AI agent guidance for branching/release flow, merge strategy, and SHA pinning policy. |
| .vscode/tasks.json | Simplifies tasks and consolidates Docker build/test tasks to the new Dockerfile. |
| .vscode/launch.json | Updates debug launch paths to the new build output layout. |
| .gitignore | Ignores .codex and *.log. |
| .github/workflows/TestDockerTask.yml | Removes legacy workflow (replaced by reusable task workflows). |
| .github/workflows/TestDockerPr.yml | Removes legacy PR workflow (replaced by test-pull-request.yml). |
| .github/workflows/TestBuildTask.yml | Removes legacy workflow (replaced by test-release-task.yml). |
| .github/workflows/TestBuildPr.yml | Removes legacy PR workflow (replaced by test-pull-request.yml). |
| .github/workflows/test-release-task.yml | Adds reusable test workflow (format/husky + unit tests + build task). |
| .github/workflows/test-pull-request.yml | Adds PR validation workflow that calls the reusable test workflow + status gate job. |
| .github/workflows/publish-release.yml | Adds push-triggered release workflow using the reusable build-release task. |
| .github/workflows/publish-periodic-docker-release.yml | Adds push+schedule Docker publish workflow + tool-version extraction + README update. |
| .github/workflows/merge-bot-pull-request.yml | Adds branch-aware Dependabot merge bot using a GitHub App token. |
| .github/workflows/get-version-task.yml | Updates version task workflow; pins actions and uses dotnet/nbgv pinned SHA. |
| .github/workflows/DependabotAutoMerge.yml | Removes old Dependabot auto-merge workflow (replaced by merge-bot-pull-request.yml). |
| .github/workflows/BuildGitHubRelease.yml | Removes legacy release workflow (replaced by publish-release.yml + build-release-task.yml). |
| .github/workflows/BuildDockerTask.yml | Removes legacy Docker build task (replaced by build-docker-task.yml). |
| .github/workflows/BuildDockerPush.yml | Removes legacy Docker push workflow (replaced by publish-periodic-docker-release.yml). |
| .github/workflows/build-release-task.yml | Adds reusable release build orchestrator (version + exe + docker + optional GitHub release). |
| .github/workflows/build-executable-task.yml | Adds reusable matrix executable build workflow and artifact packaging. |
| .github/workflows/build-docker-task.yml | Adds reusable Docker build workflow with pinned actions + registry caching. |
| .github/workflows/build-datebadge-task.yml | Adds reusable BYOB date badge task workflow. |
| .github/dependabot.yml | Reformats and keeps Dependabot targeting both main and develop. |
| .github/copilot-instructions.md | Adds branching/release guidance and updates workflow/Docker references. |
| .editorconfig | Updates formatting configuration and analyzer severity overrides. |
| .dockerignore | Replaces ignore list with a structured .NET/CI-focused Docker context ignore set. |
5 tasks
ptr727
added a commit
that referenced
this pull request
May 7, 2026
Document the rule that, immediately after a develop->main merge lands and main's publish workflows complete, the next action is a small isolated PR bumping the minor in version.json on develop. Without it, develop's next NBGV prerelease is numerically lower than the stable that just shipped, producing visibly confusing version numbers in HISTORY.md, --version output, and consumer update prompts. Documentation only; the actual bump for the just-completed PR #693 promotion will land as a separate `bump-version-3.17` PR per the "don't bundle the bump with other work" guidance in this same change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
ptr727
added a commit
that referenced
this pull request
May 8, 2026
* Require a fresh Copilot pass before merging any PR Document the rule that mergeStateStatus=CLEAN alone is not enough to merge — Copilot must have re-reviewed the latest commit after any thread resolutions or pushes. If Copilot does not auto re-review within a reasonable window, ask before merging; silence is not approval. This was missing from the previous round of process documentation. PR #693 was merged ~3 minutes after I (Claude) replied to Copilot's threads, before Copilot had a chance to post a fresh review on the new commit. The merge happened to be functionally correct but the process was wrong, and it's the kind of small step that hides real regressions in larger PRs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Bump develop's minor version after every develop->main merge Document the rule that, immediately after a develop->main merge lands and main's publish workflows complete, the next action is a small isolated PR bumping the minor in version.json on develop. Without it, develop's next NBGV prerelease is numerically lower than the stable that just shipped, producing visibly confusing version numbers in HISTORY.md, --version output, and consumer update prompts. Documentation only; the actual bump for the just-completed PR #693 promotion will land as a separate `bump-version-3.17` PR per the "don't bundle the bump with other work" guidance in this same change. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Refine Copilot-pass rule per Copilot review Address four issues Copilot raised on the previous commit: - Clarify that review_on_push lives in the copilot_code_review ruleset rule (verifiable via gh api), not in repo source files. - Align the "no issues found" headline with the verification recipe by stating up front that Copilot posts COMMENTED reviews here, so a clean COMMENTED review with zero open threads IS the success state. - Specify committedDate as the exact field to compare submitted_at against, removing ambiguity between authoredDate and committedDate in `gh pr view --json commits` output. - Replace "ask the user" with "ask the maintainer" since this is a repo-wide doc that survives author changes. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Make the Copilot fresh-review check use commit_id, not timestamps Copilot pointed out (rightly) that comparing submitted_at against committedDate is fragile: the reviews endpoint returns every author's every review, and timestamp drift between client and server can flip the comparison. The robust check is structural — does the latest Copilot review's commit_id equal headRefOid? Recipe rewritten to fetch headRefOid and the last Copilot review's commit_id and compare strings. Also added a pointer to the GitHub UI "Re-request review" flow for cases where Copilot doesn't auto re-review on push (which happens occasionally; observed on this PR). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Fix two consistency issues from Copilot's round-4 review - AGENTS.md headline said the freshness check was "review submitted after committedDate" but step 2 specifies commit_id == headRefOid. Aligned the headline to also use the SHA-equality wording so the rule is internally consistent end-to-end. - copilot-instructions.md: "develop's next prerelease numbers below main's just-shipped stable" was missing a verb. Now reads "next prerelease version numbers fall below..." Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Bot login consistency and paginated reviews lookup Round 5 Copilot findings: - Use `copilot-pull-request-reviewer[bot]` (the bot login, with "(shown as Copilot in the UI)" gloss) consistently in prose so it matches the jq filter in the verification recipe — copy/paste from the doc now produces a working command. - The reviews endpoint is paginated by default in gh CLI; on PRs with many review entries `last` could pick a stale Copilot review from page 1. Use `--paginate` and a streaming `tail -1` filter so the latest Copilot commit_id is reliably found regardless of review-list length. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Use <owner>/<repo> placeholder consistently in API recipes The Merging-a-PR section mixed `<repo>` and `<owner>/<repo>` in adjacent gh api recipes; copy-pasting the bare `<repo>` form would fail. Standardised on `<owner>/<repo>` to match the rest of the doc. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
4 tasks
ptr727
added a commit
that referenced
this pull request
May 8, 2026
Main just shipped 3.16.7 (PR #693 promotion). Per the rule documented in AGENTS.md "Develop → Main Promotion" section, bump develop's minor so the next prerelease lands at 3.17.X-g{sha}, visibly above main's just-shipped stable rather than below it. Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
The first develop → main promotion under the new branch-rule split. Brings main forward to develop's refactored state (PR #692 plus all the prior develop-only refactoring).
Surgical merge strategy: this PR's branch was created with
git merge -s ours origin/mainfrom develop's tip, so:What changes (vs current main)
100 files, ~1500 insertions / ~1100 deletions:
build-release-task.yml,build-executable-task.yml, etc.).merge-bot-pull-request.yml(App-token + branch-aware merge method).Directory.Packages.props+Directory.Build.props(centralized package versioning)..csprojfiles simplified.AGENTS.mdwith branch flow / merge strategy / release flow / dependabot / merge-bot / SHA-pinning sections..github/copilot-instructions.mdmeta section.Test plan
publish-release.ymlandpublish-periodic-docker-release.ymlfire on main, producing the next stable release tag and:latestDocker imagegit log --oneline origin/main..origin/developis empty (develop is now a strict ancestor of main)🤖 Generated with Claude Code