You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Give workflow-file changes a non-target PR smoke job #192
Workflow changes are untested by pull-request CI. pull_request_target runs the workflow file from the default branch, so edits to a workflow in a PR do not run in that PR; the L36 change was verified by manual dispatch only (retrospective report §8, FOLLOWUPS §3 C11). A broken workflow is discovered after merge, on main, across every consumer repository.
Proposal
For PRs that touch workflow files in Workflows and in the large consuming repos, add a pull_request (not target) smoke job that exercises the changed workflow on the PR head (for example through workflow_call on a fixture or actionlint plus a dry-run).
Where that is not feasible, document manual dispatch on the branch as the required verification step and add a PR template line for it.
Acceptance
A PR changing a shared workflow runs a smoke job on its own head.
A deliberately broken workflow in a test PR fails that job.
The manual-dispatch alternative is documented for cases that cannot be covered.
Source: October 2026 orchestration retrospective (local work records, not in the repo).
Status
State: Done — Delivered: Workflows #195 + consumers Arc #3506, Stage #748, Studio #2395, Chronicle #5309. Branch: ai-ci-performance-skills (#195) Scope: L46: plan a pull_request (not target) smoke job that exercises changed workflows on the PR head in Workflows and large consumer repos; manual-dispatch fallback documented. Plan: Add a reusable workflow-lint (pinned actionlint, shared config tolerating queue: max) and a pull_request smoke-workflows job in Workflows. The smoke job calls the PR-head copies of the reusable workflows that need no secrets, and a test ratchet makes every reusable either smoked or listed with a reason. Then roll the lint caller out to Arc, Stage, Chronicle and Studio; the manual-dispatch fallback is documented in the README. Delivered: Nothing yet. Remaining: To be confirmed. Follow-ups: None.
Not smokeable by design (secrets or writes): update-packages, cleanup-pr-artifacts, trigger-documentation-build, normalize-dependabot-labels and the release-policy reusables; the README documents the manual fallback. Shellcheck stays off in consumers for now.
Activity
woksin commentedon Oct 23, 2026
Delivered. Workflow changes are now linted on the pull request in every repo that ships through Cratis/Workflows:
workflow-lint.yml(pinned, checksum-verified actionlint 1.7.12 with a shared config) andsmoke-workflows.yml, which runs the read-only reusables from the pull request's own commit — Lint and smoke-run workflow changes on the pull request #195. Proof that a broken workflow fails: Proof: broken workflow fails lint (do not merge) #196 (run https://github.com/Cratis/Workflows/actions/runs/39883049360).if: falsePython publish hold).Not smokeable by design (secrets or writes): update-packages, cleanup-pr-artifacts, trigger-documentation-build, normalize-dependabot-labels and the release-policy reusables; the README documents the manual fallback. Shellcheck stays off in consumers for now.