✅ test: teach the dist_* gates to tell code from comments #763
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # Tier 0 — mandatory Kind smoke on every non-docs PR and push to main. | |
| # Required check name for branch protection: kind-smoke | |
| # See docs/development/coding-standards.md and docs/development/testing.md. | |
| name: E2E smoke | |
| on: | |
| push: | |
| branches: [main] | |
| paths-ignore: | |
| - "docs/**" | |
| - "mkdocs.yml" | |
| - "README.md" | |
| - "CHANGELOG.md" | |
| - "CONTRIBUTING.md" | |
| - "LICENSE" | |
| - ".github/ISSUE_TEMPLATE/**" | |
| pull_request: | |
| paths-ignore: | |
| - "docs/**" | |
| - "mkdocs.yml" | |
| - "README.md" | |
| - "CHANGELOG.md" | |
| - "CONTRIBUTING.md" | |
| - "LICENSE" | |
| - ".github/ISSUE_TEMPLATE/**" | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: e2e-smoke-${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
| # HY-06: never cancel in-flight runs on main (would leave CI-UNKNOWN); PR runs still supersede. | |
| cancel-in-progress: ${{ github.ref != 'refs/heads/main' }} | |
| jobs: | |
| kind-smoke: | |
| name: kind-smoke | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: ./.github/actions/kind-e2e-setup | |
| with: | |
| scenario-script: hack/kind/e2e/smoke.sh | |
| wait-timeout: 300s | |
| # L4 for the pipeline CLI (ADR-0801, P-008). The CLI is standalone — it collects via kubeconfig | |
| # without the operator — so it runs as its own isolated-cluster scenario rather than bolting onto | |
| # the operator smoke. run-mode repo_root sets REPO_ROOT so the scenario can `task build:cli`. | |
| pipeline-cli-smoke: | |
| name: pipeline-cli-smoke | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - uses: ./.github/actions/kind-e2e-setup | |
| with: | |
| scenario-script: hack/kind/e2e/pipeline-cli-smoke.sh | |
| run-mode: repo_root | |
| wait-timeout: 300s | |
| # DEMO-03 — canonical Git-only hero demo path (Forgejo in kind). | |
| # Separate from required Tier-0 kind-smoke (branch protection lists kind-smoke only). | |
| # Uses a noop setup so kind-e2e-setup installs kind/helm without creating kollect-e2e; | |
| # smoke.sh owns kollect-hero (up → assert → down). | |
| hero-demo-smoke: | |
| name: hero-demo-smoke | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 25 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| persist-credentials: false | |
| - name: Hero smoke contract (no kind) | |
| run: bash hack/test/demo_03_hero_smoke_test.sh | |
| - uses: ./.github/actions/kind-e2e-setup | |
| with: | |
| setup-script: hack/demo/hero/ci-noop-setup.sh | |
| scenario-script: hack/demo/hero/smoke.sh | |
| wait-timeout: 300s |