Skip to content

ci: reusable one-click trigger_release workflow - #39

Merged
helly25 merged 1 commit into
mainfrom
ci/reusable-trigger-release-workflow
Jun 27, 2026
Merged

ci: reusable one-click trigger_release workflow#39
helly25 merged 1 commit into
mainfrom
ci/reusable-trigger-release-workflow

Conversation

@helly25

@helly25 helly25 commented Jun 27, 2026

Copy link
Copy Markdown
Owner

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's tools/trigger_release.sh (signed tag -> release.yml -> GitHub release + BCR, plus the next-version bump PR).

Each repo adds a ~15-line workflow_dispatch dispatcher that uses: this with secrets: 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.

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.
@helly25
helly25 merged commit 3bd2017 into main Jun 27, 2026
5 checks passed
@helly25
helly25 deleted the ci/reusable-trigger-release-workflow branch June 27, 2026 16:51
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.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants