CI/CD Workflow Conventions
Runtime Preferences
- •Use
oven-sh/setup-bun@v2instead ofactions/setup-nodefor JS/TS - •Use
astral-sh/setup-uvinstead ofactions/setup-pythonfor Python - •Use
prefix-dev/setup-pixiinstead of conda/mamba actions for conda envs - •Use
bunxinstead ofnpxin all workflow steps - •Prefer
make/justtargets over inline commands when a Makefile or Justfile already exists
Action Versions
- •When modifying or creating workflows, check the latest version for each action used
- •Ask the user if they want to update to the latest version or keep the current one
- •The
check-actions-versions.shPostToolUse hook validates versions on save
Workflow Structure
- •Use minimal
permissions:blocks - •Set
persist-credentials: falseon checkout for release workflows - •Use
GITHUB_TOKENnot PATs when possible