5555 fail-fast : false
5656 runs-on : ${{ matrix.os }}
5757 steps :
58+ - name : Set env for singularity
59+ run : echo "RELEASE_VERSION=v3.7.1" >> $GITHUB_ENV
60+ - name : Disable etelemetry
61+ run : echo "NO_ET=TRUE" >> $GITHUB_ENV
62+ - name : Setup Singularity
63+ uses : actions/checkout@v4
64+ with :
65+ repository : hpcng/singularity
66+ ref : ' v3.7.1'
67+ path : ' singularity'
68+ - name : Setup GO
69+ uses : actions/setup-go@v5
70+ with :
71+ go-version : ' ^1.13'
72+ - name : Install OS deps
73+ run : |
74+ sudo apt-get update
75+ sudo apt-get install flawfinder squashfs-tools uuid-dev libuuid1 libffi-dev libssl-dev libssl1.1 \
76+ libarchive-dev libgpgme11-dev libseccomp-dev wget gcc make pkg-config -y
77+ - name : Build
78+ run : |
79+ cd singularity
80+ ./mconfig --without-suid -p /usr/local/
81+ make -C ./builddir
82+ sudo make -C ./builddir install
83+ cd ..
84+ - name : Echo singularity version
85+ run : |
86+ echo ${{ github.ref }}
87+ singularity --version
5888 - name : Fetch repository
5989 uses : actions/checkout@v4
6090 - name : Fetch tags
@@ -66,14 +96,12 @@ jobs:
6696 - name : Update pip
6797 run : python -m pip install --upgrade pip
6898 - name : Install Pydra
69- run : pip install .[test]
99+ run : pip install .[test,psij,dask ]
70100 - name : Print version
71101 run : python -c "import pydra.engine; print(pydra.engine.__version__)"
72- - name : Disable etelemetry
73- run : echo "NO_ET=TRUE" >> $GITHUB_ENV
74102 - name : Pytest
75103 run : |
76- pytest -vs -n auto pydra --doctest-modules --cov pydra --cov-config .coveragerc --cov-report xml:cov.xml
104+ pytest -vs -n auto pydra --doctest-modules --with-psij -- cov pydra --cov-config .coveragerc --cov-report xml:cov.xml
77105 - name : Upload to codecov
78106 run : codecov -f cov.xml -F unittests -e GITHUB_WORKFLOW
79107
@@ -101,148 +129,15 @@ jobs:
101129 pip install -e ".[test,dask]"
102130 - name : Run tests for Dask
103131 run : |
104- pytest -v --dask pydra/engine --cov pydra --cov-config .coveragerc --cov-report xml:cov.xml
105- - name : Upload to codecov
106- run : codecov -f cov.xml -F unittests -e GITHUB_WORKFLOW
107-
108- test-psijlocal :
109- needs : ['build']
110- strategy :
111- matrix :
112- os : [ubuntu-latest, macos-latest]
113- python-version : ['3.11']
114- fail-fast : false
115- runs-on : ${{ matrix.os }}
116- steps :
117- - name : Checkout repository
118- uses : actions/checkout@v4
119- with :
120- repository : ${{ github.repository }}
121- - name : Fetch tags
122- run : git fetch --prune --unshallow
123- - name : Setup Python version ${{ matrix.python-version }}
124- uses : actions/setup-python@v5
125- with :
126- python-version : ${{ matrix.python-version }}
127- - name : Install dependencies for PSI/J
128- run : |
129- pip install -e ".[test, psij]"
130- - name : Run tests for PSI/J
131- run : |
132- pytest --color=yes -vs --psij=local -n auto pydra/engine --cov pydra --cov-config .coveragerc --cov-report xml:cov.xml
133- - name : Upload to codecov
134- run : codecov -f cov.xml -F unittests -e GITHUB_WORKFLOW
135-
136- test-psijslurm :
137- needs : ['build']
138- strategy :
139- matrix :
140- python-version : [3.11.5]
141- fail-fast : false
142- runs-on : ubuntu-latest
143- env :
144- DOCKER_IMAGE : adi611/docker-centos7-slurm:23.02.1
145- steps :
146- - name : Disable etelemetry
147- run : echo "NO_ET=TRUE" >> $GITHUB_ENV
148- - uses : actions/checkout@v4
149- - name : Fetch tags
150- run : git fetch --prune --unshallow
151- - name : Pull docker image
152- run : |
153- docker pull $DOCKER_IMAGE
154- # Have image running in the background
155- docker run `bash <(curl -s https://codecov.io/env)` -itd -h slurmctl --cap-add sys_admin -d --name slurm -v `pwd`:/pydra -e NO_ET=$NO_ET $DOCKER_IMAGE
156- - name : Display previous jobs with sacct
157- run : |
158- echo "Allowing ports/daemons time to start" && sleep 10
159- docker exec slurm bash -c "sacctmgr -i add account none,test Cluster=linux Description='none' Organization='none'"
160- docker exec slurm bash -c "sacct && sinfo && squeue" 2&> /dev/null
161- if [ $? -ne 0 ]; then
162- echo "Slurm docker image error"
163- exit 1
164- fi
165- - name : Setup Python
166- run : |
167- docker exec slurm bash -c "echo $NO_ET"
168- docker exec slurm bash -c "ls -la && echo list top level dir"
169- docker exec slurm bash -c "ls -la /pydra && echo list pydra dir"
170- if [[ "${{ matrix.python-version }}" == "3.11.5" ]]; then
171- docker exec slurm bash -c "CONFIGURE_OPTS=\"-with-openssl=/opt/openssl\" pyenv install -v 3.11.5"
172- fi
173- docker exec slurm bash -c "pyenv global ${{ matrix.python-version }}"
174- docker exec slurm bash -c "pip install --upgrade pip && pip install -e /pydra[test,psij] && python -c 'import pydra.engine; print(pydra.engine.__version__)'"
175- - name : Run pytest
176- run : |
177- docker exec slurm bash -c "pytest --color=yes -vs -n auto --psij=slurm --cov pydra --cov-config /pydra/.coveragerc --cov-report xml:/pydra/cov.xml --doctest-modules /pydra/pydra/engine/tests/test_workflow.py /pydra/pydra/engine/tests/test_submitter.py /pydra/pydra/engine/tests/test_node_task.py -k 'not test_audit_prov and not test_audit_prov_messdir_1 and not test_audit_prov_messdir_2 and not test_audit_prov_wf and not test_audit_all'"
178- - name : Upload to codecov
179- run : |
180- docker exec slurm bash -c "pip install urllib3==1.26.6"
181- docker exec slurm bash -c "codecov --root /pydra -f /pydra/cov.xml -F unittests"
182- docker rm -f slurm
183-
184- test-singularity :
185- needs : ['build']
186- runs-on : ubuntu-22.04
187- strategy :
188- matrix :
189- python-version : ['3.11', '3.12', '3.13']
190- fail-fast : False
191- steps :
192- - name : Set env
193- run : |
194- echo "RELEASE_VERSION=v3.7.1" >> $GITHUB_ENV
195- echo "NO_ET=TRUE" >> $GITHUB_ENV
196- - name : Setup Singularity
197- uses : actions/checkout@v4
198- with :
199- repository : hpcng/singularity
200- ref : ' v3.7.1'
201- path : ' singularity'
202- - name : Setup GO
203- uses : actions/setup-go@v5
204- with :
205- go-version : ' ^1.13'
206- - name : Install OS deps
207- run : |
208- sudo apt-get update
209- sudo apt-get install flawfinder squashfs-tools uuid-dev libuuid1 libffi-dev libssl-dev libssl1.1 \
210- libarchive-dev libgpgme11-dev libseccomp-dev wget gcc make pkg-config -y
211- - name : Build
212- run : |
213- cd singularity
214- ./mconfig --without-suid -p /usr/local/
215- make -C ./builddir
216- sudo make -C ./builddir install
217- cd ..
218- - name : Echo singularity version
219- run : |
220- echo ${{ github.ref }}
221- singularity --version
222- - name : Set up Python ${{ matrix.python-version }}
223- uses : actions/setup-python@v5
224- with :
225- python-version : ${{ matrix.python-version }}
226- - name : Update build tools
227- run : python -m pip install --upgrade pip
228- - name : Checkout Pydra repo
229- uses : actions/checkout@v4
230- with :
231- repository : ${{ github.repository }}
232- - name : Fetch tags
233- run : git fetch --prune --unshallow
234- - name : Install pydra (test)
235- run : pip install -e ".[test]"
236- - name : Pytest
237- run : pytest -vs --cov pydra --cov-config .coveragerc --cov-report xml:cov.xml pydra/engine/tests/test_singularity.py pydra/engine/tests/test_environments.py
132+ pytest -v --dask pydra/engine/test_submitter.py --cov pydra --cov-config .coveragerc --cov-report xml:cov.xml
238133 - name : Upload to codecov
239134 run : codecov -f cov.xml -F unittests -e GITHUB_WORKFLOW
240135
241136 test-slurm :
242137 needs : ['build']
243138 strategy :
244139 matrix :
245- python-version : [3.11.5 ]
140+ python-version : [3.11.7 ]
246141 fail-fast : false
247142 runs-on : ubuntu-latest
248143 env :
@@ -276,10 +171,10 @@ jobs:
276171 docker exec slurm bash -c "CONFIGURE_OPTS=\"-with-openssl=/opt/openssl\" pyenv install -v 3.11.5"
277172 fi
278173 docker exec slurm bash -c "pyenv global ${{ matrix.python-version }}"
279- docker exec slurm bash -c "pip install --upgrade pip && pip install -e /pydra[test] && python -c 'import pydra.engine; print(pydra.engine.__version__)'"
174+ docker exec slurm bash -c "pip install --upgrade pip && pip install -e /pydra[test,psij ] && python -c 'import pydra.engine; print(pydra.engine.__version__)'"
280175 - name : Run pytest
281176 run : |
282- docker exec slurm bash -c "pytest /pydra/pydra/engine/tests/test_workflow.py /pydra/pydra/engine/tests/ test_submitter.py /pydra/pydra/engine/tests/test_node_task.py --color=yes -vs --cov pydra --cov-config /pydra/.coveragerc --cov-report xml:/pydra/cov.xml --doctest-modules /pydra/pydra/ -k 'not test_audit_prov and not test_audit_prov_messdir_1 and not test_audit_prov_messdir_2 and not test_audit_prov_wf and not test_audit_all' "
177+ docker exec slurm bash -c "pytest /pydra/pydra/engine/tests/test_submitter.py --with-psij --color=yes -vs --cov pydra --cov-config /pydra/.coveragerc --cov-report xml:/pydra/cov.xml --doctest-modules /pydra/pydra/"
283178 - name : Upload to codecov
284179 run : |
285180 docker exec slurm bash -c "pip install urllib3==1.26.6"
@@ -357,7 +252,7 @@ jobs:
357252 path : docs/build/html
358253
359254 deploy :
360- needs : [build-docs, test, test-dask, test-psijlocal, test-psijslurm, test-singularity, test- slurm]
255+ needs : [build-docs, test, test-dask, test-slurm]
361256 runs-on : ubuntu-latest
362257 steps :
363258 - name : Download dist
0 commit comments