Skip to content

ci: cover backend-abstraction branch - #181

Closed
kunchenguid wants to merge 2 commits into
mainfrom
fm/ci-workbranch-w2
Closed

ci: cover backend-abstraction branch#181
kunchenguid wants to merge 2 commits into
mainfrom
fm/ci-workbranch-w2

Conversation

@kunchenguid

Copy link
Copy Markdown
Owner

Intent

Widen firstmate's GitHub Actions triggers so the long-lived integration branch backend-abstraction gets the same CI and PR enforcement as main. Phase PRs for the multi-phase runtime-backend abstraction rollout will target backend-abstraction instead of main, and today neither workflow fires for PRs to a non-main base. Exact scope: in ci.yml change on.push.branches and on.pull_request.branches from [main] to [main, backend-abstraction]; in no-mistakes-required.yml add backend-abstraction alongside main under on.pull_request.branches. No other changes—no job content, permissions, or concurrency edits.

What Changed

  • Expanded the CI workflow branch filters so pushes and pull requests for backend-abstraction run alongside main.
  • Added backend-abstraction to the Require no-mistakes pull request branch filter.
  • Updated contributor guidance to document that both CI and no-mistakes enforcement apply to main and backend-abstraction.

Risk Assessment

✅ Low: Captain, the diff is limited to adding backend-abstraction to existing GitHub Actions branch filters, with no job, permission, or enforcement logic changes.

Testing

Captain, the baseline behavior suite was already green; the focused workflow validation also passed and produced evidence showing CI plus Require no-mistakes now run for backend-abstraction while non-trigger workflow content stayed unchanged.

Evidence: Workflow trigger event matrix
Workflow trigger validation: PASS
Base commit: 1bc8842d2629a9f6497003e544296aa07d787639
Target commit: f582241d5720024714df74a720f2cf83afc073e8
Changed files: .github/workflows/ci.yml, .github/workflows/no-mistakes-required.yml

Target branch filters:
  ci.yml push: ['main', 'backend-abstraction']
  ci.yml pull_request: ['main', 'backend-abstraction']
  no-mistakes-required.yml pull_request: ['main', 'backend-abstraction']

Non-trigger workflow content unchanged after removing branch filters: yes

Simulated GitHub event matrix:
  ci.yml: push on main -> RUNS
  ci.yml: push on backend-abstraction -> RUNS
  ci.yml: push on feature/example -> skipped
  ci.yml: pull_request on main -> RUNS
  ci.yml: pull_request on backend-abstraction -> RUNS
  ci.yml: pull_request on feature/example -> skipped
  no-mistakes-required.yml: pull_request on main -> RUNS
  no-mistakes-required.yml: pull_request on backend-abstraction -> RUNS
  no-mistakes-required.yml: pull_request on feature/example -> skipped

Machine-readable matrix:
[
  {
    "workflow": "ci.yml",
    "event": "push",
    "branch_or_pr_base": "main",
    "would_run": true
  },
  {
    "workflow": "ci.yml",
    "event": "push",
    "branch_or_pr_base": "backend-abstraction",
    "would_run": true
  },
  {
    "workflow": "ci.yml",
    "event": "push",
    "branch_or_pr_base": "feature/example",
    "would_run": false
  },
  {
    "workflow": "ci.yml",
    "event": "pull_request",
    "branch_or_pr_base": "main",
    "would_run": true
  },
  {
    "workflow": "ci.yml",
    "event": "pull_request",
    "branch_or_pr_base": "backend-abstraction",
    "would_run": true
  },
  {
    "workflow": "ci.yml",
    "event": "pull_request",
    "branch_or_pr_base": "feature/example",
    "would_run": false
  },
  {
    "workflow": "no-mistakes-required.yml",
    "event": "pull_request",
    "branch_or_pr_base": "main",
    "would_run": true
  },
  {
    "workflow": "no-mistakes-required.yml",
    "event": "pull_request",
    "branch_or_pr_base": "backend-abstraction",
    "would_run": true
  },
  {
    "workflow": "no-mistakes-required.yml",
    "event": "pull_request",
    "branch_or_pr_base": "feature/example",
    "would_run": false
  }
]
Evidence: Workflow trigger scope diff
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index f8b0afc..49339d9 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -2,9 +2,9 @@ name: CI
 
 on:
   push:
-    branches: [main]
+    branches: [main, backend-abstraction]
   pull_request:
-    branches: [main]
+    branches: [main, backend-abstraction]
 
 permissions:
   contents: read
diff --git a/.github/workflows/no-mistakes-required.yml b/.github/workflows/no-mistakes-required.yml
index ab1224d..38f81e7 100644
--- a/.github/workflows/no-mistakes-required.yml
+++ b/.github/workflows/no-mistakes-required.yml
@@ -5,6 +5,7 @@ on:
     types: [opened, edited, synchronize, reopened]
     branches:
       - main
+      - backend-abstraction
 
 permissions:
   contents: read

Pipeline

Updates from git push no-mistakes

✅ **intent** - passed

✅ No issues found.

✅ **Rebase** - passed

✅ No issues found.

✅ **Review** - passed

✅ No issues found.

✅ **Test** - passed

✅ No issues found.

  • command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"
  • Baseline provided by the gate: command -v tmux >/dev/null || { echo "tmux is required for e2e tests" >&2; exit 1; }; tmux -V; rc=0; for t in tests/*.test.sh; do echo "== $t =="; bash "$t" || rc=1; done; exit "$rc"
  • Reviewed target diff with git diff --color=never 1bc8842d2629a9f6497003e544296aa07d787639..f582241d5720024714df74a720f2cf83afc073e8 -- .github/workflows/ci.yml .github/workflows/no-mistakes-required.yml
  • Ran a focused Python/PyYAML workflow-trigger validation that compared base vs target, asserted changed files were limited to the two workflows, asserted non-branch-filter workflow content was unchanged, and simulated push / pull_request branch matching for main, backend-abstraction, and feature/example
✅ **Document** - passed

✅ No issues found.

✅ **Lint** - passed

✅ No issues found.

✅ **Push** - passed

✅ No issues found.

Widen push and pull_request triggers in ci.yml and no-mistakes-required.yml
so phase PRs targeting backend-abstraction get the same CI and PR
enforcement as main.
@kunchenguid

Copy link
Copy Markdown
Owner Author

Closing unmerged: the integration-branch rollout was reverted in favor of small incremental merges to main, so this trigger widening is no longer needed.

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.

1 participant