| title | Maintaining the workflow library |
|---|---|
| created | 2026-07-30 |
| updated | 2026-07-30 |
-
Create a focused branch.
-
Update workflow YAML,
catalog.json, starters, bootstrap assets, and docs together. -
Run:
python scripts/validate.py python -m unittest discover -s tests -v actionlint -config-file .github/actionlint.yaml shellcheck install.sh scripts/*.sh images/smoke.sh -
Build/test affected CI images when toolchain files change.
-
Merge only after the hosted
validatecheck succeeds. -
Let Release Please create an immutable release.
Callers use a full workflow-library commit SHA. To roll out a change:
- record the new commit SHA;
- update all
dinglebear-ai/workflows/...@<sha>references in one reviewed fleet change; - keep the old SHA available during rollout;
- verify each stable aggregate gate;
- revert caller SHAs if the shared behavior regresses.
Do not move a tag to simulate an upgrade.
Treat workflow inputs, outputs, required secrets, permissions, artifact names, and runner placement as an API. Adding an optional input is compatible. Removing or renaming an input, changing a default command materially, or requiring a new permission is breaking and must be called out in release notes.
Dependabot proposes immutable action SHA updates. Review the upstream release, runtime migration, permission changes, and generated diff. Do not merge a bot PR solely because the new SHA passes syntax validation.
Base manifest and tool versions are explicit in Dockerfiles. Re-resolve the official amd64 manifest when updating a base tag, then rebuild and smoke all three images. A passing Docker build is insufficient; inspect the resulting architecture and tool versions.