github/workflows v10.1.0

Call a workflow at this version with its uses: line. Every workflow here is at the same version as the scripts that a .pigeon/version of github/workflows/v10.1.0 fetches.

blog-changelog.yml

uses: noisypigeon/runway/.github/workflows/blog-changelog.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
site_dirstringnoPath (in the caller's checkout) to a directory holding the blog's src/, e.g. noisypigeon.com. Resolves the daily digest under <site_dir>/src/content/changelog/. Set this or src_dir, not both.
src_dirstringnoPath (in the caller's checkout) to the Zola site root itself, e.g. web. Resolves the daily digest under <src_dir>/content/changelog/. Set this or site_dir, not both; requires changelog_path.
changelog_pathstringnoPath (in the caller's checkout) to the blog's CHANGELOG.md. Defaults to <site_dir>/CHANGELOG.md when empty; required with src_dir, which has no such default.
deploy_workflowstringyesWorkflow filename to dispatch after committing the changelog, in deploy_repo.
deploy_repostringnoowner/name of the repo whose deploy_workflow to dispatch. Empty (the default) means the caller's own repo; a site workload names its Pages shim repo (LIB-0031 §6).
site_keystringnoOptional site input to pass the dispatched workflow, for callers whose deploy workflow still multiplexes sites. Omit for a single-purpose deploy workflow (e.g. a Pages caller) that takes no such inp
changelog_tagstringnoblogBracket tag on each line of the blog's own CHANGELOG.md (LIB-0034 §5).
fetch_scriptstringno.pigeon/tools.shScript (relative to the caller's repo root) that materializes library at the version the caller pins.
changelog_scriptstringno.pigeon/src/tools/github/scripts/root-changelog.shPath (relative to the caller's repo root) to root-changelog.sh, as left by fetch_script.
root_changelog_tagstringnoBracket tag used in the caller's root CHANGELOG.md rollup line, e.g. 'blog'. Empty (the default) skips the root rollup entirely -- what a single-site repo wants.
git_user_namestringnoistx25
git_user_emailstringno6799989+istx25@users.noreply.github.com

Secrets

NameRequiredDescription
BOT_GITHUB_TOKENyes

container-image-release.yml

uses: noisypigeon/runway/.github/workflows/container-image-release.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
versionstringyesThe version to publish, bare (X.Y.Z). Tagged X.Y.Z and X.Y.
refstringnoGit ref to build. Defaults to the tag v<version>.
imagestringnoImage name without a tag. Defaults to ghcr.io/<owner>/<repo>, lowercased.
contextstringno.Build context, relative to the caller's repo root.
dockerfilestringnoDockerfileDockerfile path, relative to the caller's repo root.
platformsstringno[ { "runner": "ubuntu-24.04-arm", "platform": "linux/arm64" }, { "runner": "ubuntu-24.04", "platform": "linux/amd64" } ]JSON array of {"runner": "...", "platform": "linux/<arch>"}, one native build per entry.
build_argsstringnoNewline-separated KEY=VALUE build arguments.
smoke_teststringnoShell run inside each platform's image (sh -ec, entrypoint overridden) before it is pushed. A non-zero exit fails the release and nothing reaches the registry. Empty skips the check.
latestbooleannotrueAlso move the latest tag to this version.

Outputs

NameDescription
imageThe image name published to.
digestThe multi-arch index digest.

interaction-limits-renew.yml

uses: noisypigeon/runway/.github/workflows/interaction-limits-renew.yml@github/workflows/v10.1.0

Source at this tag

Secrets

NameRequiredDescription
GH_ADMIN_TOKENyes

rust-crate-release.yml

uses: noisypigeon/runway/.github/workflows/rust-crate-release.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
cratestringyesThe crate's name on crates.io, e.g. pigeon-cli.
binstringyesThe binary's name, e.g. pigeon.
codesign_idstringyesIdentifier for the macOS ad-hoc codesign, e.g. dev.pigeon.cli.
targetsstringyesJSON array of build targets, each {"runner": "...", "triple": "...", "smoke_test": true|false}.
package_filesstringnoLICENSE.mdExtra files from the repo root to add to each binary tarball.
fetch_scriptstringno.pigeon/tools.shScript (relative to the caller's repo root) that materializes library at the version the caller pins.
scripts_dirstringno.pigeon/src/tools/github/scriptsPath (relative to the caller's repo root) to the library's tools/github/scripts, as left by fetch_script.

Secrets

NameRequiredDescription
CARGO_REGISTRY_TOKENyes

Outputs

NameDescription
versionThe version this run released.

site-dispatch.yml

uses: noisypigeon/runway/.github/workflows/site-dispatch.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
site_repostringnoowner/name of the Pages shim repo that deploys the site. Empty (the default) reads each changed site workload's shim from its workload.yaml (LIB-0034 §3, LIB-0037 §4).
workflowstringnoDeploy workflow filename in site_repo. Only read with site_repo; the workload.yaml mode always dispatches pages.yml (LIB-0034 §4).

Secrets

NameRequiredDescription
BOT_GITHUB_TOKENyes

site-generate.yml

uses: noisypigeon/runway/.github/workflows/site-generate.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
src_dirstringyesPath (in the caller's checkout) to the site whose generated files to commit, e.g. workloads/garden. Only changes under it are committed.
generate_cmdstringyesCommand to run from the caller's repo root, after fetch_script, that writes the generated files under src_dir.
fetch_scriptstringno.pigeon/tools.shScript (relative to the caller's repo root) that materializes library at the version the caller pins, with every tag.
git_user_namestringnoistx25
git_user_emailstringno6799989+istx25@users.noreply.github.com

Secrets

NameRequiredDescription
BOT_GITHUB_TOKENyes

site-pages.yml

uses: noisypigeon/runway/.github/workflows/site-pages.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
spokestringyesowner/name of the spoke whose workload holds the site, e.g. noisypigeon/runway.
workloadstringyesThe workload's path under the spoke's workloads/, <zone>/<workload> (LIB-0037), e.g. noisypigeon.com/blog.

site-r2.yml

uses: noisypigeon/runway/.github/workflows/site-r2.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
src_dirstringyesThe site workload's directory, holding its config.toml and its workload.yaml, e.g. workloads/example.com/site.
base_urlstringnoThe URL to check the deployed site at, e.g. https://example.com. Empty skips the checks.
www_urlstringnoA URL that must redirect to base_url, e.g. https://www.example.com. Empty skips that check.
prepare_cmdstringno./.pigeon/tools.sh && .pigeon/src/tools/github/scripts/resolve-workloads.shCommand run from the repo root before terragrunt reads state: fetching the library and generating the workload's stubs.
theme_scriptstringno.pigeon/src/tools/static-site/zola/resolve-theme.shPath (relative to the repo root) to tools/static-site/zola/resolve-theme.sh, as left by prepare_cmd.
build_cmdstringnozola buildCommand to run (in src_dir) to build the site.
zola_versionstringno0.23.6

Secrets

NameRequiredDescription
SOPS_AGE_KEYyes

spoke-root-changelog.yml

uses: noisypigeon/runway/.github/workflows/spoke-root-changelog.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
precedencestringyesOrdered &lt;ERE&gt;=&lt;tag&gt; lines, one per line, matched against the PR's changed paths; the first line with any matching path picks the tag. Split on the last =, so the pattern may contain one and the ta
fallback_tagstringnorepoTag for a PR no precedence line matches.
fetch_scriptstringno.pigeon/tools.shScript (relative to the caller's repo root) that materializes library at the version the caller pins.
changelog_scriptstringno.pigeon/src/tools/github/scripts/root-changelog.shPath (relative to the caller's repo root) to root-changelog.sh, as left by fetch_script.
git_user_namestringnoistx25
git_user_emailstringno6799989+istx25@users.noreply.github.com

Secrets

NameRequiredDescription
BOT_GITHUB_TOKENyes

state-backup.yml

uses: noisypigeon/runway/.github/workflows/state-backup.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
secrets_filesstringnoSpace-separated sops dotenv files (relative to the caller's repo root) to read secrets from; every value is masked. Empty (the default) means whichever of terraform/secrets/terraform.enc and cloudflar

Secrets

NameRequiredDescription
SOPS_AGE_KEYyes

terragrunt-ack.yml

uses: noisypigeon/runway/.github/workflows/terragrunt-ack.yml@github/workflows/v10.1.0

Source at this tag

terragrunt-detect.yml

uses: noisypigeon/runway/.github/workflows/terragrunt-detect.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
leaf_patternstringno^[^/]+/terraform/|^terraform/secrets/|^workloads/[^/]+/(values|secrets)\.yaml$|^workloads/[^/]+/[^/]+/(workload|secrets\.workload)\.yaml$|^zones/[^/]+/zone\.yaml$|^zones\.yaml$|^\.env\.enc$|^ERE matching paths that require a terragrunt run.

Outputs

NameDescription
affects-leavesWhether the PR touches a terraform leaf ('true'/'false').

terragrunt-run.yml

uses: noisypigeon/runway/.github/workflows/terragrunt-run.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
commandstringyesterragrunt subcommand to run: plan or apply.
checkout_refstringnogit ref to check out before running. Empty (the default) means the PR's head commit: the event's own SHA on pull_request, or the SHA the API reports for the PR on issue_comment.
secrets_filesstringnoSpace-separated sops dotenv files (relative to the caller's repo root) whose decrypted values are masked in the log. Empty (the default) means every terraform/secrets/*.enc that exists.
prepare_cmdstringnoOptional command run from the caller's repo root before terragrunt -- e.g. fetching library and materializing root.hcl.
scripts_dirstringno.pigeon/src/tools/github/scriptsPath (relative to the caller's repo root) to the library's tools/github/scripts, as left by prepare_cmd's fetcher.

Secrets

NameRequiredDescription
SOPS_AGE_KEYyes
BOT_GITHUB_TOKENno

Outputs

NameDescription
deferred'true' when the run left workload leaves deferred (LIB-0024).
exit_codeThe run's exit code.

zola-site-pages.yml

uses: noisypigeon/runway/.github/workflows/zola-site-pages.yml@github/workflows/v10.1.0

Source at this tag

Inputs

NameTypeRequiredDefaultDescription
src_dirstringyesPath (in the checkout) to the site's src/.
repositorystringnoowner/name of the repo to build the site from. Empty (the default) means the caller's own; a Pages shim repo names the spoke whose workload holds the site (LIB-0031 §4).
refstringnoRef of repository to build. Empty (the default) means the event's ref for the caller's own repo, or the default branch's head for another repo.
build_cmdstringnozola buildCommand to run (in src_dir) to build the site.
extra_stepstringnoOptional site-specific command to run before building.
zola_versionstringno0.23.6
terraform_docsbooleannofalseInstall terraform-docs before extra_step -- generate-module-redirects.sh --static-root needs it for LIB-0023's schemas.
fetch_scriptstringnoOptional script (relative to the caller's repo root) to run before resolving the theme -- materializes the library version this site pins.
theme_scriptstringno.pigeon/src/tools/static-site/zola/resolve-theme.shPath (relative to the caller's repo root) to tools/static-site/zola/resolve-theme.sh, as left by fetch_script.

Release notes are on GitHub.