Skip to content

Commit acf11f3

Browse files
committed
CI: add self-hosted CUDA runners
1 parent fa47153 commit acf11f3

File tree

1 file changed

+38
-1
lines changed

1 file changed

+38
-1
lines changed

.github/workflows/build.yml

+38-1
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,43 @@ on:
88
pull_request:
99
branches: [master]
1010
jobs:
11+
test-cuda:
12+
defaults: {run: {shell: 'bash -el {0}'}}
13+
runs-on: [self-hosted, python, cuda]
14+
strategy:
15+
matrix:
16+
python-version: [3.9]
17+
numpy-version: [1.22]
18+
steps:
19+
- uses: actions/checkout@v4
20+
with: {fetch-depth: 0, submodules: recursive}
21+
- id: reqs
22+
name: set requirements
23+
run: |
24+
envname="${GITHUB_REPOSITORY##*/}-${GITHUB_RUN_ID}.${GITHUB_RUN_NUMBER}"
25+
echo "envname=$envname" >> $GITHUB_OUTPUT
26+
- uses: conda-incubator/setup-miniconda@v3
27+
with:
28+
python-version: ${{ matrix.python-version }}
29+
activate-environment: ${{ steps.reqs.outputs.envname }}
30+
run-post: false
31+
- id: build
32+
name: build
33+
run: |
34+
conda activate "${{ steps.reqs.outputs.envname }}"
35+
cmake -S . -B ./build_proj -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_MATLAB_WRAPPER=OFF -DBUILD_PYTHON_WRAPPER=ON -DBUILD_CUDA=ON -DCMAKE_INSTALL_PREFIX=./install
36+
cmake --build ./build_proj --target install
37+
pip install ./src/Python
38+
- name: test
39+
run: |
40+
conda activate "${{ steps.reqs.outputs.envname }}"
41+
PYTHONPATH=./src/Python python -m unittest discover ./test
42+
- if: always()
43+
name: Post Run conda-incubator/setup-miniconda@v3
44+
run: |
45+
conda deactivate
46+
sed -i '/${{ steps.reqs.outputs.envname }}/d' ~/.profile
47+
conda env remove -n "${{ steps.reqs.outputs.envname }}"
1148
test:
1249
defaults: {run: {shell: 'bash -el {0}'}}
1350
runs-on: ubuntu-latest
@@ -57,6 +94,6 @@ jobs:
5794
name: ccpi-regulariser-package
5895
path: recipe/linux-64/ccpi-regulariser*
5996
pass:
60-
needs: [test, conda]
97+
needs: [test-cuda, test, conda]
6198
runs-on: ubuntu-latest
6299
steps: [{run: echo success}]

0 commit comments

Comments
 (0)