ci(publish): manual dry run; GITFLOW: dry-run and green-before-tag gates - #1294
Open
michalharakal wants to merge 1 commit into
Open
michalharakal wants to merge 1 commit into
michalharakal wants to merge 1 commit into
Conversation
…tag gates publish.yml gains workflow_dispatch: a manually started run executes the whole release pipeline (native matrix, Android SDK + NDK, signing) but ends in publishToMavenLocal and is never given the Maven Central credentials, so it cannot upload. The real publish step now runs only on tag pushes. GITFLOW.adoc documents what the 0.56.0 release taught: dry-run the publish on the release branch, merge the release PR with a merge commit, wait until develop CI on that merge commit has finished green, tag that merge commit (matching what 0.54.0 and 0.56.0 actually did), and what to do when a publish run fails (move the tag only if nothing was uploaded; otherwise cut a patch release).
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.
Two lessons from the 0.56.0 release, which tagged twice and failed its first publish in a runner setup step (#1293).
publish.yml: manual dry runworkflow_dispatch. A manually started run executes the same pipeline — native matrix, Android SDK + NDK setup, signing validation, artifact staging — but ends in./gradlew publishToMavenLocalon the runner.mavenCentralUsername/Password— it cannot upload.Publish to MavenCentralnow carriesif: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/'), so only a tag push publishes.Why: this workflow was only ever exercised by the tag push itself, so ordinary CI could not reveal that it was broken.
GITFLOW.adoc: release processdevelopworkflow on that merge commit has finished green, then tag.release: X.Y.Zcommit";0.54.0and0.56.0actually tag the release PR's merge commit ondevelop. The doc now says that, and themainfast-forward uses the same SHA.Verification
actionlintclean for the changed parts (one pre-existing shellcheck style note in an untouched step); YAML parses;GITFLOW.adocrenders with Asciidoctor. The dry run itself cannot be exercised from this PR — GitHub only offersworkflow_dispatchfor workflows whose trigger exists on the default branch. First real test after merge:gh workflow run publish.yml --ref develop.