Skip to content

Commit 766e2ef

Browse files
committed
Break github testing into two stagest - build and then pytest
1 parent 7ff14f2 commit 766e2ef

3 files changed

Lines changed: 113 additions & 9 deletions

File tree

.github/workflows/pytest-linux.yml

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
branches: [ master, main ]
88

99
jobs:
10-
pytest-linux:
10+
build:
1111
runs-on: ubuntu-24.04
1212

1313
steps:
@@ -27,15 +27,50 @@ jobs:
2727
chmod +x utilities/dependencies.sh
2828
bash utilities/dependencies.sh VIS
2929
30-
- name: Install Python dependencies
30+
- name: Install build dependencies only
3131
run: |
3232
python -m pip install --upgrade pip
33-
pip install -e .[dev]
33+
pip install pyyaml
3434
3535
- name: Build native libraries
3636
run: |
3737
python build_scripts/build_helios.py --buildmode release --nogpu --verbose
3838
39+
- name: Upload build artifacts
40+
uses: actions/upload-artifact@v4
41+
with:
42+
name: linux-build-artifacts
43+
path: |
44+
pyhelios_build/build/
45+
pyhelios/plugins/*.so
46+
pyhelios/plugins/*.dylib
47+
retention-days: 1
48+
49+
test:
50+
needs: build
51+
runs-on: ubuntu-24.04
52+
53+
steps:
54+
- name: Checkout PyHelios
55+
uses: actions/checkout@v4
56+
with:
57+
submodules: recursive
58+
59+
- name: Set up Python 3.11
60+
uses: actions/setup-python@v4
61+
with:
62+
python-version: '3.11'
63+
64+
- name: Download build artifacts
65+
uses: actions/download-artifact@v4
66+
with:
67+
name: linux-build-artifacts
68+
69+
- name: Install Python dependencies
70+
run: |
71+
python -m pip install --upgrade pip
72+
pip install -e .[dev]
73+
3974
- name: Run pytest
4075
run: |
4176
pytest -v

.github/workflows/pytest-macos.yml

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
branches: [ master, main ]
88

99
jobs:
10-
pytest-macos:
10+
build:
1111
runs-on: macos-14
1212

1313
steps:
@@ -25,15 +25,50 @@ jobs:
2525
run: |
2626
brew install --cask xquartz
2727
28-
- name: Install Python dependencies
28+
- name: Install build dependencies only
2929
run: |
3030
python -m pip install --upgrade pip
31-
pip install -e .[dev]
31+
pip install pyyaml
3232
3333
- name: Build native libraries
3434
run: |
3535
python build_scripts/build_helios.py --buildmode release --nogpu --verbose
3636
37+
- name: Upload build artifacts
38+
uses: actions/upload-artifact@v4
39+
with:
40+
name: macos-build-artifacts
41+
path: |
42+
pyhelios_build/build/
43+
pyhelios/plugins/*.so
44+
pyhelios/plugins/*.dylib
45+
retention-days: 1
46+
47+
test:
48+
needs: build
49+
runs-on: macos-14
50+
51+
steps:
52+
- name: Checkout PyHelios
53+
uses: actions/checkout@v4
54+
with:
55+
submodules: recursive
56+
57+
- name: Set up Python 3.11
58+
uses: actions/setup-python@v4
59+
with:
60+
python-version: '3.11'
61+
62+
- name: Download build artifacts
63+
uses: actions/download-artifact@v4
64+
with:
65+
name: macos-build-artifacts
66+
67+
- name: Install Python dependencies
68+
run: |
69+
python -m pip install --upgrade pip
70+
pip install -e .[dev]
71+
3772
- name: Run pytest
3873
run: |
3974
pytest -v

.github/workflows/pytest-windows.yml

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
branches: [ master, main ]
88

99
jobs:
10-
pytest-windows:
10+
build:
1111
runs-on: windows-2022
1212

1313
steps:
@@ -24,15 +24,49 @@ jobs:
2424
- name: Setup MSVC
2525
uses: ilammy/msvc-dev-cmd@v1
2626

27-
- name: Install Python dependencies
27+
- name: Install build dependencies only
2828
run: |
2929
python -m pip install --upgrade pip
30-
pip install -e .[dev]
30+
pip install pyyaml
3131
3232
- name: Build native libraries
3333
run: |
3434
python build_scripts/build_helios.py --buildmode release --nogpu --verbose
3535
36+
- name: Upload build artifacts
37+
uses: actions/upload-artifact@v4
38+
with:
39+
name: windows-build-artifacts
40+
path: |
41+
pyhelios_build/build/
42+
pyhelios/plugins/*.dll
43+
retention-days: 1
44+
45+
test:
46+
needs: build
47+
runs-on: windows-2022
48+
49+
steps:
50+
- name: Checkout PyHelios
51+
uses: actions/checkout@v4
52+
with:
53+
submodules: recursive
54+
55+
- name: Set up Python 3.11
56+
uses: actions/setup-python@v4
57+
with:
58+
python-version: '3.11'
59+
60+
- name: Download build artifacts
61+
uses: actions/download-artifact@v4
62+
with:
63+
name: windows-build-artifacts
64+
65+
- name: Install Python dependencies
66+
run: |
67+
python -m pip install --upgrade pip
68+
pip install -e .[dev]
69+
3670
- name: Run pytest
3771
run: |
3872
pytest -v

0 commit comments

Comments
 (0)