ci: reusable one-click trigger_release workflow - #39
Merged
Conversation
A workflow_call workflow that checks out the caller repo's main, verifies MODULE.bazel == CHANGELOG.md version and that it is neither tagged nor released, imports the dedicated release GPG key, and runs the caller's tools/trigger_release.sh (push signed tag -> release.yml -> GitHub release + BCR, open bump PR). Consumed by each repo's thin workflow_dispatch dispatcher via 'uses: helly25/bzl/.github/workflows/trigger_release.yaml@main' with 'secrets: inherit'. Needs org secrets RELEASE_TOKEN, RELEASE_GPG_PRIVATE_KEY, RELEASE_GPG_PASSPHRASE.
Fab-Cat
approved these changes
Jun 27, 2026
helly25
added a commit
to helly25/mbo
that referenced
this pull request
Jun 27, 2026
* ci: add one-click Trigger Release dispatcher A workflow_dispatch workflow (clickable from the Actions tab) that delegates to the shared reusable workflow helly25/bzl/.github/workflows/trigger_release.yaml via 'secrets: inherit'. It validates the MODULE.bazel/CHANGELOG.md version (identical, not tagged, not released) and runs tools/trigger_release.sh. Requires org secrets RELEASE_TOKEN, RELEASE_GPG_PRIVATE_KEY, RELEASE_GPG_PASSPHRASE. Effective once helly25/bzl#39 merges. * ci: drop workflow_dispatch version input (checkov CKV_GHA_7) checkov CKV_GHA_7 flags user-supplied workflow inputs. The release version always comes from MODULE.bazel, so the optional 'version' input was unnecessary; removing it clears the finding and simplifies the dispatcher (and the reusable workflow drops the matching input). * ci: use 'workflow_dispatch: {}' to satisfy yamllint empty-values After dropping the inputs, a bare 'workflow_dispatch:' is a null block-mapping value (yamllint/empty-values). Use the explicit empty mapping, matching publish.yaml.
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.
Adds
.github/workflows/trigger_release.yaml(on: workflow_call) so every helly25 Bazel-module repo can cut a release from one click.It checks out the caller repo's
main, runs the caller's.pre-commit/check_version.sh(MODULE.bazel == CHANGELOG.md), verifies the version is not already tagged or released, imports a dedicated release GPG key, and runs the caller'stools/trigger_release.sh(signed tag -> release.yml -> GitHub release + BCR, plus the next-version bump PR).Each repo adds a ~15-line
workflow_dispatchdispatcher thatuses:this withsecrets: inherit(first consumer: helly25/mbo).Required org secrets:
RELEASE_TOKEN(PAT -- needed so the pushed tag triggers release.yml; the default GITHUB_TOKEN would not),RELEASE_GPG_PRIVATE_KEY,RELEASE_GPG_PASSPHRASE.