2929 JULIA_NUM_THREADS : 2
3030 # this repo
3131 # # increase this value to reset all caches
32- CACHE_EPOCH : 7
33- # # keep in sync with `pixi.toml#/$schema`
34- PIXI_VERSION : 0.43.3
32+ CACHE_EPOCH : 8
33+ # # TODO: keep in sync with `pixi.toml#/$schema`
34+ PIXI_VERSION : 0.44.0
3535 # # add `-v` to see more inputs/outputs
3636 PIXI_RUN : pixi run --no-install --locked
3737
@@ -49,12 +49,11 @@ jobs:
4949 - name : Cache node_modules
5050 uses : actions/cache@v4
5151 with :
52- enableCrossOsArchive : true
5352 path : |
5453 !node_modules/.cache/
5554 **/node_modules/
5655 key : |
57- ${{ env.CACHE_EPOCH }}-node-build- ${{ hashFiles('pixi.lock', 'yarn.lock') }}
56+ ${{ env.CACHE_EPOCH }}-node-${{ hashFiles('pixi.lock', 'yarn.lock') }}
5857 - name : Install nodejs dependencies
5958 run : ${{ env.PIXI_RUN }} setup-js && touch node_modules/.ci-skip-yarn
6059 - name : Build all intermediates
8786 !node_modules/.cache/
8887 **/node_modules/
8988 key : |
90- ${{ env.CACHE_EPOCH }}-node-build- ${{ hashFiles('pixi.lock', 'yarn.lock') }}
89+ ${{ env.CACHE_EPOCH }}-node-${{ hashFiles('pixi.lock', 'yarn.lock') }}
9190 - name : Install nodejs dependencies
9291 run : ${{ env.PIXI_RUN }} setup-js && echo "" > node_modules/.ci-skip-yarn
9392
@@ -109,7 +108,7 @@ jobs:
109108 !node_modules/.cache/
110109 **/node_modules/
111110 key : |
112- ${{ env.CACHE_EPOCH }}-node-build- ${{ hashFiles('pixi.lock', 'yarn.lock') }}
111+ ${{ env.CACHE_EPOCH }}-node-${{ hashFiles('pixi.lock', 'yarn.lock') }}
113112 - name : Apply source formatting
114113 run : ${{ env.PIXI_RUN }} fix
115114 - name : Run source checks
@@ -136,7 +135,7 @@ jobs:
136135 !node_modules/.cache/
137136 **/node_modules/
138137 key : |
139- ${{ env.CACHE_EPOCH }}-node-build- ${{ hashFiles('pixi.lock', 'yarn.lock') }}
138+ ${{ env.CACHE_EPOCH }}-node-${{ hashFiles('pixi.lock', 'yarn.lock') }}
140139 - run : ${{ env.PIXI_RUN }} docs
141140 - uses : actions/upload-artifact@v4
142141 with :
@@ -169,16 +168,17 @@ jobs:
169168 uses : actions/download-artifact@v4
170169 with :
171170 name : jplsp-${{ github.run_number }}-dist
171+ # cache
172172 - name : Cache node_modules
173173 uses : actions/cache@v4
174174 with :
175- enableCrossOsArchive : true
176175 path : |
177176 !node_modules/.cache/
178177 **/node_modules/
179178 key : |
180- ${{ env.CACHE_EPOCH }}-node-build-${{ hashFiles('pixi.lock', 'yarn.lock') }}
181- - name : Cache julia
179+ ${{ env.CACHE_EPOCH }}-node-${{ hashFiles('pixi.lock', 'yarn.lock') }}
180+ # setup
181+ - name : Cache julia language server packages
182182 uses : actions/cache@v4
183183 with :
184184 path : |
@@ -192,9 +192,11 @@ jobs:
192192 - name : |-
193193 Install PyPI distributions for integration testing (epoch: ${{ matrix.epoch }})
194194 run: ${{ env.PIXI_RUN }} --skip-deps itest-${{ matrix.epoch }}-uv
195+ # itest
195196 - name : |
196197 Run integration tests (epoch: ${{ matrix.epoch }})
197198 run: ${{ env.PIXI_RUN }} --skip-deps itest-${{ matrix.epoch }}
199+ # reporting
198200 - if : always()
199201 name : Publish browser test output
200202 uses : actions/upload-artifact@v4
@@ -229,29 +231,42 @@ jobs:
229231 uses : actions/download-artifact@v4
230232 with :
231233 name : jplsp-${{ github.run_number }}-dist
234+ # caches
232235 - name : Cache node_modules
233236 uses : actions/cache@v4
234237 with :
235- enableCrossOsArchive : true
236238 path : |
237239 !node_modules/.cache/
238240 **/node_modules/
239241 key : |
240- ${{ env.CACHE_EPOCH }}-node-build- ${{ hashFiles('pixi.lock', 'yarn.lock') }}
241- - name : Cache julia
242+ ${{ env.CACHE_EPOCH }}-node-${{ hashFiles('pixi.lock', 'yarn.lock') }}
243+ - name : Cache julia language server packages
242244 uses : actions/cache@v4
243245 with :
244246 path : |
245247 .pixi/envs/atest-${{ matrix.epoch }}/share/julia
246248 key : |
247- ${{ env.CACHE_EPOCH }}-julia-atest-${{ matrix.epoch }}-${{ matrix.os }}-${{ hashFiles('pixi.lock') }}
249+ ${{ env.CACHE_EPOCH }}-atest-julia-${{ matrix.epoch }}-${{ matrix.os }}-${{ hashFiles('pixi.lock') }}
250+ - name : Cache tex packages
251+ uses : actions/cache@v4
252+ with :
253+ path : |
254+ build/.cache/tectonic
255+ key : |
256+ ${{ env.CACHE_EPOCH }}-tex-${{ matrix.epoch }}-${{ matrix.os }}-${{ hashFiles('pixi.lock', 'atest/_examples/example.tex') }}
257+ # preflight, separated for log clarity
248258 - if : matrix.epoch != 'min'
249259 name : |
250260 Set up julia for acceptance test (epoch: ${{ matrix.epoch }})
251261 run : ${{ env.PIXI_RUN }} --skip-deps atest-${{ matrix.epoch }}-setup-julia
262+ - if : matrix.epoch != 'min'
263+ name : |
264+ Set up tex for acceptance test (epoch: ${{ matrix.epoch }})
265+ run : ${{ env.PIXI_RUN }} --skip-deps --environment atest-${{ matrix.epoch }} tectonic-cache--
252266 - name : |-
253267 Install PyPI distributions for acceptance testing (epoch: ${{ matrix.epoch }})
254268 run: ${{ env.PIXI_RUN }} --skip-deps atest-${{ matrix.epoch }}-uv
269+ # atest
255270 - name : |-
256271 Run acceptance tests until first failure, ignore failure (epoch: ${{ matrix.epoch }})
257272 continue-on-error: true
@@ -271,6 +286,7 @@ jobs:
271286 ATEST_ATTEMPT: 2
272287 ATEST_RETRIES: 3
273288 run: ${{ env.PIXI_RUN }} --skip-deps atest-${{ matrix.epoch }}
289+ # reporting
274290 - if : always()
275291 name : Summarize acceptance test results
276292 run : ${{ env.PIXI_RUN }} -e atest-${{ matrix.epoch }} ci-summary-atest
0 commit comments