Repository navigation
Keep older tracks' releases from taking the Latest label - #26
Merged
Merged
Conversation
GitHub gives Latest to the newest release whatever its version, so 6.1.6.5 took it from 8.1.3.1 when both tracks released together. Opt out for anything that is not the default track; default-track releases keep GitHub's behaviour. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
There was a problem hiding this comment.
🟡 Changes recommended
Latest eligibility is based on the tagged commit, allowing older or out-of-order releases to overwrite the Latest label.
1 open issue
What changed in this PR
This PR aims to keep older FFmpeg tracks from taking GitHub’s Latest label by reusing the release workflow’s existing default-track output.
Changes:
- Adds
--latest=falsewhendefault-trackis nottrue, leaving default-track behaviour unchanged. - Documents why older tracks must opt out of Latest.
| File | Description |
|---|---|
.github/workflows/release.yml |
Adds conditional Latest-label opt-out and explanatory comments. |
Review effort: Balanced
default-track reads the tag's own Directory.Build.props, so a tag cut from an earlier commit after the default moved on would still take Latest. Ask GitHub what Latest is when the release is created and opt out of anything behind it, which covers older tracks as well. If Latest can't be read, GitHub's own choice stands: the packages are already published by then, so this must not fail the job. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This branch was successfully deployed
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.

Releasing 7.1.5.5 and 6.1.6.5 moved the GitHub Latest label from
v8.1.3.1tov6.1.6.5.gh release createsends nomake_latest, and GitHub then gives Latest to the newest release whatever its version. The next older-track release would do the same.Before creating the release, this now reads the current Latest and passes
--latest=falsewhen the new version sorts behind it. Releases at or ahead of Latest send nothing new, so they behave as before.It compares with Latest rather than using
default-trackbecause that output reads the tagged commit. A tag cut from an earlier commit after the default has moved on would still reporttrue. It compares with Latest rather than every release because the legacyv8.1.7.3sorts above everything current.If Latest can't be read, the flag is left off and GitHub's own choice stands. The packages are already on nuget.org by this step, so it must not fail the job.
The label itself was already put back by hand with
gh release edit v8.1.3.1 --latest. This PR adds no release note, so merging it releases nothing.Checked
The real lines from
release.ymlunderbash -e, with a stubgh:v8.1.3.17.1.5.6,6.1.6.6,8.1.2.6--latest=falsev8.1.3.18.1.3.2,8.1.4.1v8.1.4.18.1.3.2--latest=falsev8.1.9.18.1.10.1v8.1.10.18.1.9.1--latest=falsev8.1.3.18.1.4.1-rc.1--prereleasev8.1.3.17.1.5.6-rc.1--prerelease --latest=false8.1.3.2gh release view --json tagName --jq .tagNameagainst this repository returnsv8.1.3.1, and the workflow file still parses as YAML.Not checked
release.ymldoesn't run on a pull request, so this first runs on GitHub at the next release of any track. After it,gh api repos/sbokatuk/FFmpegKit.Android/releases/latestshould name the highest version.sort -Vran on macOS here, and the job uses GNUsortonubuntu-latest.This is also the first CI run with #24 and #25 together. They were never tested as a pair before landing.
🤖 Generated with Claude Code