Skip to content

Harden the workflows and the template workflows - #99

Merged
CarlosSolrac merged 1 commit into
mainfrom
claude/project-thread-yfbdd4
Nov 8, 2026
Merged

CarlosSolrac merged 1 commit into
mainfrom
claude/project-thread-yfbdd4

Conversation

@CarlosSolrac

Copy link
Copy Markdown
Owner

Requested by Carlos · project thread

Live workflows

  • renovate.json: the Node that renovate.yml runs on gets its own group with automerge off. ci never runs Renovate, so it cannot catch a Node bump that breaks it (the Nov 3–7 outage). Renovate automerges a branch only when every upgrade in it does (config.automerge = upgrades.every(...)), so a separate group keeps the rest of github-actions automerging.
  • ci.yml, renovate.yml: pin uv to 0.13.7 on setup-uv (released 2026-11-03, past the 3-day window). Renovate's github-actions manager tracks astral-sh/setup-uv's version input (checked in the 44.222.2 package), so uv updates now arrive as PRs.
  • ci.yml: workflow_dispatch for manual runs, a concurrency group that cancels superseded PR runs (main runs always finish), timeout-minutes: 15 (runs take ~1.5 min), persist-credentials: false.

Templates (skill/assets/ci.yml, mutation.yml)

  • permissions: contents: read, a timeout (30 / 120 min), persist-credentials: false; the CI template also gets the concurrency group.
  • setup-standards.sh regenerated with vendor_templates and template_history.

Not included: a pre-commit cache in the CI template (it adds a new action, actions/cache), and --locked in mutation.sh (it would break libraries, which don't commit uv.lock).

Checks run locally

pytest (1018 passed, 100% coverage), ruff check/format, pyright, mypy, deptry, check_declarations, check_passthrough: all pass.


Generated by Claude Code

Live workflows:
- renovate.json: give the Node that renovate.yml runs on its own group and
  turn off its automerge. The ci check never runs Renovate, so it cannot
  catch a Node bump that breaks it (the Nov 3-7 outage).
- ci.yml, renovate.yml: pin uv to 0.13.7 on setup-uv. Renovate tracks the
  input, so uv updates arrive as PRs after minimumReleaseAge instead of
  reaching CI the day they ship.
- ci.yml: workflow_dispatch for manual runs, concurrency that cancels
  superseded PR runs, a 15-minute timeout, persist-credentials: false.

Templates (skill/assets/ci.yml, mutation.yml; setup-standards.sh regenerated
with vendor_templates and template_history):
- permissions: contents: read, a timeout, persist-credentials: false; the
  CI template also gets the same concurrency group.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01QnzrxP1xjsiBQJYkciuDBX
@CarlosSolrac CarlosSolrac self-assigned this Nov 8, 2026
@CarlosSolrac
CarlosSolrac merged commit 4128eba into main Nov 8, 2026
2 checks passed
@CarlosSolrac
CarlosSolrac deleted the claude/project-thread-yfbdd4 branch November 8, 2026 15:40
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.

2 participants