Files
computer-playbook/docs/contributing/tools/github/actions/configuration.md
T
kevinveenbirkenbachandClaude Opus 4.7 4f2dd95fe9 feat(ci): add CI_RUN_ON_MAIN gate, reorg actions docs
Add repository variable CI_RUN_ON_MAIN that gates whether pushes to
main trigger CI. When unset (default), pushes to main skip CI;
set to 'true' to enable. Pushes to other branches are unaffected.

Reorganize GitHub Actions docs into a dedicated tools/github/actions/
directory and consolidate every CI repository variable in a single
SPOT (configuration.md). Move actions.md to actions/workflows.md and
branch/configuration.md to actions/configuration.md, then update
every cross-reference. Trim README files to scope-only per
docs/contributing/artefact/files/docs/readme_md.md.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-04-18 16:31:52 +02:00

3.2 KiB

CI Configuration ⚙️

This page is the SPOT (single point of truth) for every repository variable that controls GitHub Actions CI behaviour in this repo. For the workflow catalog see workflows.md; for the CI flow see pipeline.md.

Repository variables are set under Settings → Secrets and variables → Actions → Variables.

Variables 📋

Variable Workflow Default (unset) Set to activate
CI_CANCEL_IN_PROGRESS entry-push-latest.yml Cancels in-progress runs on new push false to keep in-progress runs alive
CI_RUN_ON_MAIN entry-push-latest.yml Pushes to main skip CI true to run CI on main pushes too

CI_CANCEL_IN_PROGRESS 🛑

Controls whether a new push cancels an already-running CI pipeline on the same branch.

Default behaviour (variable not set or set to any value other than false): In-progress runs are cancelled when a new push arrives. This is the recommended setting for most workflows.

To disable cancellation:

  1. Open the repository on GitHub.
  2. Go to Settings → Secrets and variables → Actions.
  3. Switch to the Variables tab.
  4. Click New repository variable.
  5. Set Name to CI_CANCEL_IN_PROGRESS and Value to false.
  6. Save.

To re-enable cancellation:

Delete the variable or change its value to anything other than false (e.g. true).

How it works:

cancel-in-progress: ${{ vars.CI_CANCEL_IN_PROGRESS != 'false' }}
Variable value Expression result Behaviour
(not set / empty) '' != 'false' → true Cancels in-progress runs ✓
false 'false' != 'false' → false Does not cancel ✓
true 'true' != 'false' → true Cancels in-progress runs ✓

CI_RUN_ON_MAIN 🎯

Controls whether pushes to main trigger the CI pipeline. Pushes to all other branches covered by the workflow (feature/**, hotfix/**, fix/**, alert-autofix-*) are unaffected.

Default behaviour (variable not set or set to any value other than true): Pushes to main are gated out at the run-policy job and CI is skipped.

To enable CI on main pushes:

  1. Open the repository on GitHub.
  2. Go to Settings → Secrets and variables → Actions.
  3. Switch to the Variables tab.
  4. Click New repository variable.
  5. Set Name to CI_RUN_ON_MAIN and Value to true.
  6. Save.

To disable again:

Delete the variable or change its value to anything other than true.

How it works:

The gate is applied inside push_ci_policy.sh, which the run-policy job invokes. When GITHUB_REF == refs/heads/main and CI_RUN_ON_MAIN != 'true', the job emits should_run=false and every downstream job is skipped.

Variable value Ref is main Behaviour
(not set / empty) yes CI skipped ✓
true yes CI runs ✓
any other value yes CI skipped ✓
(any) no Unaffected (CI runs per branch rules) ✓