ci-cd-trigger-design
CI/CD Trigger Design
Section titled βCI/CD Trigger DesignβWorkflow authoring rules. Full rationale + examples: docs/ci-cd-trigger-design.md.
timeout-minutesmandatory β lint 5, unit 10, integration 20, cross-platform 30, e2e/release 45 (GH default 6h causes runaway outliers).- Paths filter any workflow >2 min p50 β
pull_request.pathsMUST mirrorpush.paths(asymmetry trap). - NEVER
paths:on required-check workflows β GH reports skipped-by-paths required checks asExpected β Waitingpermanently β merge deadlock. Use step-levelif:or stub-success job. NOT safe:quality-gates.yml,release.yml. concurrency.cancel-in-progress: trueon PR workflows, group${{ github.workflow }}-${{ github.ref }}.- Filter
t1k-ci-sync[bot]βif: github.event.head_commit.author.name != 't1k-ci-sync[bot]'. - Diff-based logic requires
fetch-depth: 0β shallow default returns empty diff β silent under-trigger (worse than over-triggering). - Selective execution requires kill switch β
T1K_GATE_FULL_RUN=1forces all gates unconditionally (else: misclassification β revert PR deadlock). - Selective execution requires post-merge full-suite gate β
on: push: branches: [main]no path filter, safety net.