Skip to content

Commit 26dcdb2

Browse files
fix(ci): let main runs finish, and run Typecheck on every input that affects it
- `cancel-in-progress` only for pull requests: merges on main no longer cancel the run before them. - `typescript` filter adds `patches/**`, `script/check-tracker-leaks.ts` and `script/upstream/**`. - New `typecheck` filter on `ci.yml` runs the job on its own PR. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_0174HUYiaceApqHP7EKMNgnb
1 parent b093196 commit 26dcdb2

1 file changed

Lines changed: 25 additions & 2 deletions

File tree

‎.github/workflows/ci.yml‎

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,13 @@ on:
88

99
concurrency:
1010
group: ci-${{ github.ref }}
11-
cancel-in-progress: true
11+
# altimate_change start — let main runs finish. A new push to a PR still cancels
12+
# that PR's older run. On main, each merge used to cancel the run before it, so a
13+
# day of quick merges could leave main with no completed run. A main run that is
14+
# still waiting to start does give way to a newer one, so the latest commit is
15+
# always the one tested.
16+
cancel-in-progress: ${{ github.event_name == 'pull_request' }}
17+
# altimate_change end
1218

1319
permissions:
1420
contents: read
@@ -30,6 +36,9 @@ jobs:
3036
drivers: ${{ steps.filter.outputs.drivers }}
3137
dbt-tools: ${{ steps.filter.outputs.dbt-tools }}
3238
installer: ${{ steps.filter.outputs.installer }}
39+
# altimate_change start — the Typecheck job's own filter (see `typecheck:` below)
40+
typecheck: ${{ steps.filter.outputs.typecheck }}
41+
# altimate_change end
3342
steps:
3443
- uses: actions/checkout@34e114876b0b11c390a56381ad16ebd13914f8d5 # v4
3544

@@ -63,6 +72,20 @@ jobs:
6372
- 'turbo.json'
6473
- 'bunfig.toml'
6574
# altimate_change end
75+
# altimate_change start — more inputs that change typecheck and test results.
76+
# `bun install` applies patches/ (some edit typed SDKs' .d.ts files), and
77+
# bun.lock records only the patch paths, so editing a patch changes nothing
78+
# above. opencode's tests import these repo-root scripts, and opencode's
79+
# tsconfig compiles its tests.
80+
- 'patches/**'
81+
- 'script/check-tracker-leaks.ts'
82+
- 'script/upstream/**'
83+
# altimate_change end
84+
# altimate_change start — a change to this workflow runs the Typecheck job on
85+
# its own PR, without also starting the 60-minute TypeScript test job.
86+
typecheck:
87+
- '.github/workflows/ci.yml'
88+
# altimate_change end
6689
drivers:
6790
- 'packages/drivers/src/**'
6891
- 'packages/opencode/src/altimate/native/connections/**'
@@ -145,7 +168,7 @@ jobs:
145168
typecheck:
146169
name: Typecheck
147170
needs: changes
148-
if: needs.changes.outputs.typescript == 'true' || github.event_name == 'push'
171+
if: needs.changes.outputs.typescript == 'true' || needs.changes.outputs.typecheck == 'true' || github.event_name == 'push'
149172
runs-on: ubuntu-latest
150173
timeout-minutes: 15
151174
permissions:

0 commit comments

Comments
 (0)