You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
ci: the build workflow counts as build; a no-release label skips the version (#239) - #241
.github/check-version.sh counts .github/workflows/build.yml as build along with android/: the workflow holds build steps (JDK, Gradle tasks, signing, packaging), and the script cannot tell them from test or publication steps. Markdown files under android/ no longer count.
compot-dev
added
uni
Release naming and management, common across the repositories
no-release
Changes the build or the code without changing the binaries: no new version, no release
labels
Oct 18, 2026
• Treat build workflow changes as release-relevant, while excluding Android Markdown files.
• Allow the no-release label to waive a version bump when APKs remain unchanged.
• Re-run the version check when the label is added or removed.
The following are alternative approaches to this PR:
1. Separate build and non-build workflows
➕ Could distinguish build changes from test or publication changes without a label.
➖ Requires restructuring a workflow that shares build, test, and publication configuration; increases CI maintenance.
Recommendation: Keep the conservative build.yml check and explicit no-release waiver. Splitting the workflow would make exemptions more automatic, but is disproportionate to this policy change.
Files changed (2) +27 / -8
Enhancement (1) +19 / -6
check-version.shExpand version-check scope and support no-release+19/-6
Expand version-check scope and support no-release
• Counts build.yml changes as app or build changes, while excluding Android Markdown files alongside unit tests. When the version is unchanged, NO_RELEASE=true permits relevant changes and emits a notice; otherwise the existing bump requirement remains.
build.ymlPass the no-release label to the version job+8/-2
Pass the no-release label to the version job
• Re-runs the pull-request workflow when labels are added or removed. The version step sets NO_RELEASE from the pull request’s labels so the check can apply the waiver.
1. Labeled changes can alter released builds 📎 Requirement gap≡ Correctness
Description
NO_RELEASE=true exits successfully whenever changed is nonempty and the version is unchanged,
without checking whether the resulting APKs differ. A no-release label on a source or build change
that changes the released binaries therefore bypasses the required version bump and changelog check.
+ if [ -n "$changed" ] && [ "${NO_RELEASE:-}" = true ]; then+ echo "::notice::the app or its build changed, versionName stays $old: the no-release" \+ "label says the APKs do not change"+ echo "$changed"+ exit 0
Evidence
The checklist requires the no-release label to permit binary-neutral changes but forbids it from
bypassing the version requirement for changes that alter released binaries. The changed script
accepts the label whenever any app or build path is changed and the version is unchanged; it
performs no binary-neutrality validation before exiting successfully.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The `no-release` label bypasses the version check for every changed app or build path, including changes that can alter released binaries. This violates the policy that the label is valid only for binary-neutral changes.
## Fix Focus Areas
- .github/check-version.sh[42-50]
- .github/workflows/build.yml[43-48]
## Recommended Fix
Restrict the `no-release` bypass to changes that are provably binary-neutral, such as an explicit allowlist of test, publication, and comment-only changes, or build and compare the resulting artifacts before accepting the label. Ensure source and build changes that may alter released binaries still require a version and changelog entry even when the pull request has the `no-release` label.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
2. Workflow edits hit an undocumented gate✓ Resolved
Description
docs/testing.md still says CI-only pull requests need no version bump, while check-version.sh
now counts changes to the build workflow as app or build changes. A contributor following that
guidance can submit a workflow-only change with an unchanged version and have the version check fail
unless the pull request receives the new no-release label.
The documented exemption for CI-only pull requests conflicts with the newly added build-workflow
path in the check; the unchanged-version branch fails when that path changes without the label.
The issue below was found during a code review. Follow the provided context and guidance below and implement a solution
## Issue description
The contributor-facing version policy says CI-only changes need no version bump, but the check now gates changes to the build workflow.
## Fix Focus Areas
- docs/testing.md[50-50]
- .github/check-version.sh[42-50]
## Recommended Fix
Update the version-policy guidance to distinguish build.yml from other CI changes and explain when the no-release label permits an unchanged version. Align the Markdown-file exception with the check as well.
ⓘ Copy this prompt and use it to remediate the issue with your preferred AI generation tools
Tip of the day
💡 Did you know, you can move or hide resolved findings to focus on what still needs action
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
no-releaseChanges the build or the code without changing the binaries: no new version, no releaseuniRelease naming and management, common across the repositories
1 participant
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.
Closes #239.
.github/check-version.shcounts.github/workflows/build.ymlas build along withandroid/: the workflow holds build steps (JDK, Gradle tasks, signing, packaging), and the script cannot tell them from test or publication steps. Markdown files underandroid/no longer count.NO_RELEASE=true, set by the pull request'sno-releaselabel, lets a change to the app or the build through without a new version, for changes that leave the APKs as they are (as in ci: a no-release label lets a change that keeps the binaries skip the version; review follow-ups cerberus#39). The workflow now also runs onlabeled/unlabeled, so adding or removing the label re-runs the check..github/publish-latest.shstays out: it publishes, it does not build.This pull request itself carries
no-release: it changesbuild.ymlbut not the APKs.Checked locally (temporary clone, the script against its base):
NO_RELEASE=true: passesbuild.yml-only change: fails; withNO_RELEASE=true: passespublish-latest.sh, README,android/*.md, unit tests only: pass