Skip to content

Commit cae7930

Browse files
authored
Add windows to testing (#625)
* Add windows to testing * Run rust tests on all os * Update script to show directory * Add status check * set shell to bash * Remove debug code * Fix uv windows install
1 parent 47cdee1 commit cae7930

File tree

1 file changed

+43
-24
lines changed

1 file changed

+43
-24
lines changed

.github/workflows/testing.yml

Lines changed: 43 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,11 @@ jobs:
3939
run: cargo fmt --all -- --check
4040
test:
4141
name: Tests
42-
runs-on: ubuntu-latest
42+
strategy:
43+
fail-fast: false
44+
matrix:
45+
os: [ubuntu-latest, macos-latest, windows-latest]
46+
runs-on: ${{ matrix.os }}
4347
steps:
4448
- uses: actions/checkout@v4
4549
- name: Install Rust
@@ -62,17 +66,20 @@ jobs:
6266
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
6367
- name: Cache Rust dependencies
6468
uses: Swatinem/[email protected]
65-
- name: Install uv
69+
- name: Install uv on Linux and Mac
70+
if: runner.os != 'Windows'
6671
run: curl -LsSf https://astral.sh/uv/install.sh | sh
72+
- name: Install uv on Windows
73+
if: runner.os == 'Windows'
74+
run: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
6775
- name: Set up Python
6876
uses: actions/setup-python@v5
6977
with:
7078
python-version: "${{ env.MIN_PYTHON_VERSION }}"
7179
- name: Build package
7280
run: cargo build --release
7381
- name: Run creation
74-
run: |
75-
./scripts/ci_run.sh ${{ matrix.project_type }} 1
82+
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 1
7683
- name: Install Dependencies
7784
working-directory: ${{ env.WORKING_DIR }}
7885
run: |
@@ -92,7 +99,7 @@ jobs:
9299
fail-fast: false
93100
matrix:
94101
project_type: ["application", "lib"]
95-
os: [ubuntu-latest, macos-latest]
102+
os: [ubuntu-latest, macos-latest, windows-latest]
96103
runs-on: ${{ matrix.os }}
97104
steps:
98105
- uses: actions/checkout@v4
@@ -101,17 +108,21 @@ jobs:
101108
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
102109
- name: Cache Rust dependencies
103110
uses: Swatinem/[email protected]
104-
- name: Install uv
111+
- name: Install uv on Linux and Mac
112+
if: runner.os != 'Windows'
105113
run: curl -LsSf https://astral.sh/uv/install.sh | sh
114+
- name: Install uv on Windows
115+
if: runner.os == 'Windows'
116+
run: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
106117
- name: Set up Python
107118
uses: actions/setup-python@v5
108119
with:
109120
python-version: "3.11"
110121
- name: Build package
111122
run: cargo build --release
112123
- name: Run creation
113-
run: |
114-
./scripts/ci_run.sh ${{ matrix.project_type }} 1
124+
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 1
125+
shell: bash
115126
- name: Install Dependencies
116127
working-directory: ${{ env.WORKING_DIR }}
117128
run: |
@@ -153,8 +164,7 @@ jobs:
153164
- name: Build package
154165
run: cargo build --release
155166
- name: Run creation
156-
run: |
157-
./scripts/ci_run.sh ${{ matrix.project_type }} 2
167+
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 2
158168
- name: Install Dependencies
159169
working-directory: ${{ env.WORKING_DIR }}
160170
run: poetry install
@@ -172,7 +182,7 @@ jobs:
172182
fail-fast: false
173183
matrix:
174184
project_type: ["application", "lib"]
175-
os: [ubuntu-latest, macos-latest]
185+
os: [ubuntu-latest, macos-latest, windows-latest]
176186
runs-on: ${{ matrix.os }}
177187
steps:
178188
- uses: actions/checkout@v4
@@ -194,8 +204,8 @@ jobs:
194204
- name: Build package
195205
run: cargo build --release
196206
- name: Run creation
197-
run: |
198-
./scripts/ci_run.sh ${{ matrix.project_type }} 2
207+
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 2
208+
shell: bash
199209
- name: Install Dependencies
200210
working-directory: ${{ env.WORKING_DIR }}
201211
run: poetry install
@@ -223,8 +233,12 @@ jobs:
223233
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
224234
- name: Cache Rust dependencies
225235
uses: Swatinem/[email protected]
226-
- name: Install uv
236+
- name: Install uv on Linux and Mac
237+
if: runner.os != 'Windows'
227238
run: curl -LsSf https://astral.sh/uv/install.sh | sh
239+
- name: Install uv on Windows
240+
if: runner.os == 'Windows'
241+
run: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
228242
- name: Set up Python
229243
uses: actions/setup-python@v5
230244
with:
@@ -259,7 +273,7 @@ jobs:
259273
fail-fast: false
260274
matrix:
261275
project_type: ["application", "lib"]
262-
os: [ubuntu-latest, macos-latest]
276+
os: [ubuntu-latest, macos-latest, windows-latest]
263277
runs-on: ${{ matrix.os }}
264278
steps:
265279
- uses: actions/checkout@v4
@@ -268,8 +282,12 @@ jobs:
268282
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
269283
- name: Cache Rust dependencies
270284
uses: Swatinem/[email protected]
271-
- name: Install uv
285+
- name: Install uv on Linux and Mac
286+
if: runner.os != 'Windows'
272287
run: curl -LsSf https://astral.sh/uv/install.sh | sh
288+
- name: Install uv on Windows
289+
if: runner.os == 'Windows'
290+
run: powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
273291
- name: Set up Python
274292
uses: actions/setup-python@v5
275293
with:
@@ -278,6 +296,7 @@ jobs:
278296
run: cargo build --release
279297
- name: Run creation
280298
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 3
299+
shell: bash
281300
- name: Install Dependencies
282301
working-directory: ${{ env.WORKING_DIR }}
283302
run: |
@@ -334,7 +353,7 @@ jobs:
334353
fail-fast: false
335354
matrix:
336355
project_type: ["application", "lib"]
337-
os: [ubuntu-latest, macos-latest]
356+
os: [ubuntu-latest, macos-latest, windows-latest]
338357
runs-on: ${{ matrix.os }}
339358
steps:
340359
- uses: actions/checkout@v4
@@ -350,8 +369,8 @@ jobs:
350369
- name: Build package
351370
run: cargo build --release
352371
- name: Run creation
353-
run: |
354-
./scripts/ci_run.sh ${{ matrix.project_type }} 4
372+
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 4
373+
shell: bash
355374
- name: Install Dependencies
356375
working-directory: ${{ env.WORKING_DIR }}
357376
run: |
@@ -383,8 +402,8 @@ jobs:
383402
- name: Build package
384403
run: cargo build --release
385404
- name: Run creation
386-
run: |
387-
./scripts/ci_run.sh ${{ matrix.project_type }} 5
405+
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 5
406+
shell: bash
388407
- name: Install Pixi
389408
uses: prefix-dev/[email protected]
390409
with:
@@ -407,7 +426,7 @@ jobs:
407426
fail-fast: false
408427
matrix:
409428
project_type: ["application", "lib"]
410-
os: [ubuntu-latest, macos-latest]
429+
os: [ubuntu-latest, macos-latest, windows-latest]
411430
runs-on: ${{ matrix.os }}
412431
steps:
413432
- uses: actions/checkout@v4
@@ -419,8 +438,8 @@ jobs:
419438
- name: Build package
420439
run: cargo build --release
421440
- name: Run creation
422-
run: |
423-
./scripts/ci_run.sh ${{ matrix.project_type }} 5
441+
run: ./scripts/ci_run.sh ${{ matrix.project_type }} 5
442+
shell: bash
424443
- name: Install Pixi
425444
uses: prefix-dev/[email protected]
426445
with:

0 commit comments

Comments
 (0)