2828 strategy :
2929 fail-fast : false
3030 matrix :
31- os : [ubuntu] # , mac, windows] # TODO v4: Re-enable windows and mac
31+ os : [ubuntu, mac, windows]
3232 pixi-environment : [test-latest]
3333 include :
3434 - os : ubuntu
@@ -38,11 +38,12 @@ jobs:
3838 - os : ubuntu
3939 pixi-environment : " test-minimum"
4040 steps :
41- - uses : actions/checkout@v4
41+ - uses : actions/checkout@v5
4242 - name : Restore cached pixi lockfile
4343 uses : actions/cache/restore@v4
4444 id : restore-pixi-lock
4545 with :
46+ enableCrossOsArchive : true
4647 path : |
4748 pixi.lock
4849 key : ${{ needs.cache-pixi-lock.outputs.cache-id }}
@@ -54,14 +55,14 @@ jobs:
5455 run : |
5556 pixi run -e ${{ matrix.pixi-environment }} tests -v -s --cov=parcels --cov-report=xml --html="${{ env.COVERAGE_REPORT }}" --self-contained-html
5657 - name : Codecov
57- uses : codecov/codecov-action@v5.3 .1
58+ uses : codecov/codecov-action@v5.5 .1
5859 env :
5960 CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
6061 with :
6162 flags : unit-tests
6263 - name : Upload test results
6364 if : ${{ always() }} # Always run this step, even if tests fail
64- uses : actions/upload-artifact@v4
65+ uses : actions/upload-artifact@v5
6566 with :
6667 name : Unittest report ${{ matrix.os }}-${{ matrix.pixi-environment }}
6768 path : ${{ env.COVERAGE_REPORT }}
@@ -82,11 +83,12 @@ jobs:
8283 - os : ubuntu
8384 python-version : " 3.11"
8485 steps :
85- - uses : actions/checkout@v4
86+ - uses : actions/checkout@v5
8687 - name : Restore cached pixi lockfile
8788 uses : actions/cache/restore@v4
8889 id : restore-pixi-lock
8990 with :
91+ enableCrossOsArchive : true
9092 path : |
9193 pixi.lock
9294 key : ${{ needs.cache-pixi-lock.outputs.cache-id }}
@@ -98,14 +100,14 @@ jobs:
98100 run : |
99101 pixi run test-notebooks -v -s --html="${{ env.COVERAGE_REPORT }}" --self-contained-html --cov=parcels --cov-report=xml
100102 - name : Codecov
101- uses : codecov/codecov-action@v5.3 .1
103+ uses : codecov/codecov-action@v5.5 .1
102104 env :
103105 CODECOV_TOKEN : ${{ secrets.CODECOV_TOKEN }}
104106 with :
105107 flags : integration-tests
106108 - name : Upload test results
107109 if : ${{ always() }} # Always run this step, even if tests fail
108- uses : actions/upload-artifact@v4
110+ uses : actions/upload-artifact@v5
109111 with :
110112 name : Integration test report ${{ matrix.os }}-${{ matrix.pixi-environment }}
111113 path : ${{ env.COVERAGE_REPORT }}
@@ -117,7 +119,7 @@ jobs:
117119 - typechecking
118120 steps :
119121 - name : Merge Artifacts
120- uses : actions/upload-artifact/merge@v4
122+ uses : actions/upload-artifact/merge@v5
121123 with :
122124 name : Testing reports
123125 pattern : " * report *"
@@ -129,7 +131,7 @@ jobs:
129131 needs : [cache-pixi-lock]
130132 steps :
131133 - name : Checkout
132- uses : actions/checkout@v4
134+ uses : actions/checkout@v5
133135 - name : Restore cached pixi lockfile
134136 uses : actions/cache/restore@v4
135137 id : restore-pixi-lock
@@ -146,7 +148,7 @@ jobs:
146148 pixi run typing --non-interactive --html-report mypy-report
147149 - name : Upload test results
148150 if : ${{ always() }} # Upload even on mypy error
149- uses : actions/upload-artifact@v4
151+ uses : actions/upload-artifact@v5
150152 with :
151153 name : Mypy report
152154 path : mypy-report
0 commit comments