Skip to content

Commit 221b92b

Browse files
authored
Merge pull request #3 from max-models/run-struphy-tests-in-psydac-for-struphy
Install struphy and run struphy unit tests in the github CI
2 parents 69ea281 + 8c7c484 commit 221b92b

File tree

1 file changed

+68
-36
lines changed

1 file changed

+68
-36
lines changed

.github/workflows/continuous-integration.yml

Lines changed: 68 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -16,17 +16,18 @@ jobs:
1616
fail-fast: false
1717
matrix:
1818
os: [ ubuntu-latest ]
19-
python-version: [ 3.9, '3.10', '3.11', '3.12' ]
19+
#python-version: [ 3.9, '3.10', '3.11', '3.12' ]
20+
python-version: [ '3.11' ]
2021
isMerge:
2122
- ${{ github.event_name == 'push' && github.ref == 'refs/heads/devel' }}
22-
exclude:
23-
- { isMerge: false, python-version: '3.10' }
24-
- { isMerge: false, python-version: '3.11' }
25-
include:
26-
- os: macos-latest
27-
python-version: '3.10'
28-
- os: macos-latest
29-
python-version: '3.11'
23+
#exclude:
24+
# - { isMerge: false, python-version: '3.10' }
25+
# - { isMerge: false, python-version: '3.11' }
26+
# include:
27+
# #- os: macos-latest
28+
# # python-version: '3.10'
29+
# - os: macos-latest
30+
# python-version: '3.11'
3031

3132
name: ${{ matrix.os }} / Python ${{ matrix.python-version }}
3233

@@ -67,6 +68,13 @@ jobs:
6768
brew install open-mpi
6869
brew install hdf5-mpi
6970
brew install libomp
71+
brew update
72+
brew install python3
73+
brew install gcc
74+
brew install openblas
75+
brew install lapack
76+
brew install git
77+
brew install pandoc
7078
GFORTRAN_HOME=$(which gfortran || true)
7179
echo "GFORTRAN_HOME : $GFORTRAN_HOME"
7280
if [[ ! -f "$GFORTRAN_HOME" ]]; then
@@ -169,33 +177,57 @@ jobs:
169177
mkdir pytest
170178
cp mpi_tester.py pytest
171179
172-
- name: Run single-process tests with Pytest
173-
working-directory: ./pytest
174-
run: |
175-
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
176-
export OMP_NUM_THREADS=2
177-
python -m pytest -n auto --pyargs psydac -m "not parallel and not petsc"
178-
179-
- name: Run MPI tests with Pytest
180-
working-directory: ./pytest
181-
run: |
182-
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
183-
export OMP_NUM_THREADS=2
184-
python mpi_tester.py --mpirun="mpiexec -n 4 ${MPI_OPTS}" --pyargs psydac -m "parallel and not petsc"
185-
186-
- name: Run single-process PETSc tests with Pytest
187-
working-directory: ./pytest
188-
run: |
189-
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
190-
export OMP_NUM_THREADS=2
191-
python -m pytest -n auto --pyargs psydac -m "not parallel and petsc"
192-
193-
- name: Run MPI PETSc tests with Pytest
194-
working-directory: ./pytest
195-
run: |
196-
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
197-
export OMP_NUM_THREADS=2
198-
python mpi_tester.py --mpirun="mpiexec -n 4 ${MPI_OPTS}" --pyargs psydac -m "parallel and petsc"
180+
- name: Run single-process tests with Pytest
181+
working-directory: ./pytest
182+
run: |
183+
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
184+
export OMP_NUM_THREADS=2
185+
python -m pytest -n auto --pyargs psydac -m "not parallel and not petsc"
186+
187+
- name: Run MPI tests with Pytest
188+
working-directory: ./pytest
189+
run: |
190+
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
191+
export OMP_NUM_THREADS=2
192+
python mpi_tester.py --mpirun="mpiexec -n 4 ${MPI_OPTS}" --pyargs psydac -m "parallel and not petsc"
193+
194+
- name: Run single-process PETSc tests with Pytest
195+
working-directory: ./pytest
196+
run: |
197+
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
198+
export OMP_NUM_THREADS=2
199+
python -m pytest -n auto --pyargs psydac -m "not parallel and petsc"
200+
201+
- name: Run MPI PETSc tests with Pytest
202+
working-directory: ./pytest
203+
run: |
204+
export PSYDAC_MESH_DIR=$GITHUB_WORKSPACE/mesh
205+
export OMP_NUM_THREADS=2
206+
python mpi_tester.py --mpirun="mpiexec -n 4 ${MPI_OPTS}" --pyargs psydac -m "parallel and petsc"
207+
208+
- name: Clone struphy from GitLab (struphy-with-psydac-devel branch)
209+
run: |
210+
git clone --branch struphy-with-psydac-devel https://gitlab.mpcdf.mpg.de/struphy/struphy.git
211+
212+
- name: Update struphy to use the current Psydac branch
213+
working-directory: ./struphy
214+
run: |
215+
# Replace the Psydac dependency with a local path reference
216+
cat pyproject.toml
217+
# sed -i "s|psydac @ git+https://github.com/pyccel/psydac.git@struphy-2024|psydac @ file://${GITHUB_WORKSPACE}|" pyproject.toml
218+
sed -i.bak "s|psydac @ git+https://github.com/pyccel/psydac.git@struphy-2024|psydac @ file://${GITHUB_WORKSPACE}|" pyproject.toml
219+
cat pyproject.toml
220+
221+
- name: Install StruPhy with local Psydac
222+
working-directory: ./struphy
223+
run: |
224+
python -m pip install -e .
225+
struphy -h
226+
struphy compile -y
227+
228+
- name: Run struphy tests
229+
working-directory: ./struphy
230+
run: struphy test unit
199231

200232
- name: Remove test directory
201233
if: ${{ always() }}

0 commit comments

Comments
 (0)