Skip to content

ci: turn on jactionlint's default profile - #7

Merged
robinbowes merged 1 commit into
mainfrom
ci/jactionlint-default
Oct 16, 2026
Merged

robinbowes merged 1 commit into
mainfrom
ci/jactionlint-default

Conversation

@robinbowes

Copy link
Copy Markdown

Sets profile: default in .github/jactionlint.yaml and fixes the 13 findings it reports.

  • missing-timeout (6): timeout-minutes per job, 3-5x the last six successful runs with a 5-minute floor. Lint, Sanity Checks, Image builds and commitlint-from-published-image get 5 (all under 60 s). commitlint gets 8 (93-104 s). publish gets 6 (63-78 s).
  • concurrency-limits (3):
    • ci.yml (push only): group per ref, cancel-in-progress: ${{ github.ref != 'refs/heads/main' }}, so every push to main still gets a result.
    • commitlint.yml: the PR-only cancel block.
    • publish-image.yml: group: ${{ github.workflow }}, cancel-in-progress: false, queue: max.
  • duplicate-triggers (1): commitlint.yml runs on push to main and on pull_request. It no longer runs twice for a branch that has a PR. A branch push without a PR no longer runs it.
  • dependabot-cooldown (3): cooldown.default-days: 7 on the github-actions, npm and docker entries, matching the pre-commit one.

Publishing: publish-image.yml builds and pushes the same image tags the same way. What changes is that tag runs no longer overlap: a second tag pushed while one is publishing waits, and every queued tag publishes in order instead of a newer waiting run replacing an older one. The job is also capped at 6 minutes. Permissions are unchanged (contents: read, packages: write on the one job), and there is no cache.

Verified locally: jactionlint exits 0. Removing the publish job's timeout makes the hook fail (missing-timeout). prek run --all-files passes.

Linear: GLB-32

🤖 Generated with Claude Code

Fix the 13 findings the default profile reports and set
profile: default.

- missing-timeout (6): 5 minutes for lint, sanity checks, image builds
  and the published-image commitlint job; 8 for commitlint (~100 s);
  6 for publish (63-78 s).
- concurrency-limits (3): ci.yml groups per ref and cancels superseded
  runs except on main; commitlint.yml cancels superseded PR runs only;
  publish-image.yml queues every tag run (cancel-in-progress: false,
  queue: max) so no release is cancelled or skipped.
- duplicate-triggers (1): commitlint.yml runs on pushes to main and on
  pull requests, not on every branch push as well.
- dependabot-cooldown (3): 7-day cooldown on the github-actions, npm
  and docker entries, matching the pre-commit one.

Refs GLB-32

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@robinbowes
robinbowes merged commit f32d75d into main Oct 16, 2026
5 checks passed
@robinbowes
robinbowes deleted the ci/jactionlint-default branch October 16, 2026 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant