66 - ' main'
77 pull_request : {}
88
9- env :
10- TURBO_TOKEN : ${{ secrets.TURBO_TOKEN }}
11- TURBO_TEAM : ${{ secrets.TURBO_TEAM }}
12-
139concurrency :
1410 group : ${{ github.workflow }}-${{ github.ref_name }}
1511 cancel-in-progress : true
3531 - 'vitest.config.ts'
3632 - '.github/publish-ci/**/package-lock.json'
3733 - '.github/workflows/*.yml'
34+ - '.github/actions/**'
3835 - 'package.json'
3936 build :
4037 needs : changes
4643 - name : Checkout repo
4744 uses : actions/checkout@v6
4845
49- - name : Setup pnpm
50- uses : pnpm/action-setup@v6
51-
52- - name : Setup node
53- uses : actions/setup-node@v6
46+ - uses : ./.github/actions/setup
5447 with :
55- node-version-file : ' .nvmrc'
56- cache : ' pnpm'
57-
58- - name : Install
59- run : pnpm install --frozen-lockfile
48+ turbo-cache : ' true'
6049
6150 - name : Build
6251 run : pnpm build-ci --filter=!@react-spring/docs
9685
9786 test-unit :
9887 name : ' Test:unit'
99- needs : [build ]
88+ needs : [changes ]
10089 if : ${{ needs.changes.outputs.packages == 'true' }}
10190 runs-on : ubuntu-latest
10291 strategy :
@@ -107,20 +96,9 @@ jobs:
10796 - name : Checkout repo
10897 uses : actions/checkout@v6
10998
110- - name : Setup pnpm
111- uses : pnpm/action-setup@v6
112-
113- - name : Setup node ${{ matrix.node }}
114- uses : actions/setup-node@v6
99+ - uses : ./.github/actions/setup
115100 with :
116101 node-version : ${{ matrix.node }}
117- cache : ' pnpm'
118-
119- - name : Install
120- run : pnpm install --frozen-lockfile
121-
122- - name : Build
123- run : pnpm build-ci
124102
125103 - name : Cache Playwright browsers
126104 uses : actions/cache@v5
@@ -136,7 +114,7 @@ jobs:
136114
137115 test-types :
138116 name : ' Test:types with TS ${{ matrix.ts }}'
139- needs : [build ]
117+ needs : [changes ]
140118 if : ${{ needs.changes.outputs.packages == 'true' }}
141119 runs-on : ubuntu-latest
142120 strategy :
@@ -147,17 +125,7 @@ jobs:
147125 - name : Checkout repo
148126 uses : actions/checkout@v6
149127
150- - name : Setup pnpm
151- uses : pnpm/action-setup@v6
152-
153- - name : Setup node
154- uses : actions/setup-node@v6
155- with :
156- node-version-file : ' .nvmrc'
157- cache : ' pnpm'
158-
159- - name : Install
160- run : pnpm install --frozen-lockfile
128+ - uses : ./.github/actions/setup
161129
162130 - name : Install TypeScript ${{ matrix.ts }}
163131 run : pnpm add -w typescript@${{ matrix.ts }}
@@ -176,7 +144,7 @@ jobs:
176144
177145
178146 test-e2e :
179- needs : [build ]
147+ needs : [changes ]
180148 if : ${{ needs.changes.outputs.packages == 'true' }}
181149 name : ' Test:E2E'
182150 runs-on : ubuntu-latest
@@ -185,17 +153,7 @@ jobs:
185153 - name : Checkout repo
186154 uses : actions/checkout@v6
187155
188- - name : Setup pnpm
189- uses : pnpm/action-setup@v6
190-
191- - name : Setup node
192- uses : actions/setup-node@v6
193- with :
194- node-version : ' 24.16.0'
195- cache : ' pnpm'
196-
197- - name : Install
198- run : pnpm install --frozen-lockfile
156+ - uses : ./.github/actions/setup
199157
200158 - name : Cache Playwright browsers
201159 uses : actions/cache@v5
0 commit comments