Repository navigation
v0.1.1
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. Itsqualificationjob 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 tovars.CI_RUNNER, orvars.CI_NIGHTLY_RUNNERfor the nightly, thenubuntu-24.04), an optionalci-image-dir(an image built from the base branch's reviewed directory and reused by tree hash),golangci-lint-versionandgovulncheck-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.1Each 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.