Skip to content

v0.1.1

Choose a tag to compare

@0xble 0xble released this 04 Oct 16:04
· 25 commits to main since this release
cb3ff37

Reusable CI for Go tools. The Go API is unchanged from v0.1.0.

Reusable Workflows

  • .github/workflows/tool-gate.yml: an exact-SHA gate. It checks out the pull request's head SHA, asserts it, runs the tool's ./bin/ci gate <sha>, and asserts the tree is unchanged after. Its qualification job fails on any non-success lane and on drafts (draft: gate not run), except Mergify merge-queue batch drafts.
  • .github/workflows/tool-nightly.yml: runs ./bin/ci nightly <sha>.
  • Inputs: go-version-file, runner (defaults to vars.CI_RUNNER, or vars.CI_NIGHTLY_RUNNER for the nightly, then ubuntu-24.04), an optional ci-image-dir (an image built from the base branch's reviewed directory and reused by tree hash), golangci-lint-version and govulncheck-version.

Tool Template

templates/tool/ holds the standard bin/ci (preflight | gate [sha] | nightly [sha]) and the gate.yml and nightly.yml caller stubs:

jobs:
  gate:
    uses: 0xble/toolkit/.github/workflows/tool-gate.yml@v0.1.1

Each caller keeps its own qualification job, the check that branch protection requires, because GitHub reports a called workflow's jobs as gate / qualification.

toolkit's own gate and nightly now run these workflows. See the README's Tool CI section and #2.