Update README.md #623
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Install and test romtools | |
on: | |
push: | |
branches: | |
- develop | |
pull_request: | |
branches: | |
- develop | |
concurrency: | |
group: ${{ github.event.repository.name }}-${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: True | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false # true -> cancel all jobs if any fails | |
matrix: | |
python-version: ["3.8", "3.9", "3.10", "3.11"] | |
mpi: ['mpich','openmpi'] | |
exclude: | |
- python-version: "3.8" | |
mpi: 'mpich' | |
- python-version: "3.9" | |
mpi: 'mpich' | |
steps: | |
- name: Check out code | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Check for MPI tests with invalid rank count | |
run: | | |
python $GITHUB_WORKSPACE/helper_scripts/check-mpi-size.py | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: Setup MPI | |
uses: mpi4py/setup-mpi@v1 | |
with: | |
mpi: ${{ matrix.mpi }} | |
- name: Install mpi4py | |
run: | | |
python -m pip install mpi4py | |
- name: Set Environment Variables | |
run: | | |
echo "OMPI_ALLOW_RUN_AS_ROOT=1" >> $GITHUB_ENV | |
echo "OMPI_ALLOW_RUN_AS_ROOT_CONFIRM=1" >> $GITHUB_ENV | |
- name: Check environment | |
run: | | |
echo ====================================================== | |
echo CPU Threads: $(grep -c processor /proc/cpuinfo) | |
echo ====================================================== | |
echo ====================================================== | |
echo $(which python) --version | |
python --version | |
echo ====================================================== | |
echo $(which pip) --version | |
python --version | |
echo ====================================================== | |
git --version | |
echo $PWD | |
echo $GITHUB_WORKSPACE | |
git status | |
- name: Install package | |
run: | | |
python -m pip install --upgrade pip | |
pip list | |
pip install . | |
- name: Check Formatting (Pylint) | |
run: | | |
pip install pylint | |
pylint --recursive y --rcfile .pylintrc --output-format=colorized ./romtools | |
continue-on-error: false | |
- name: Run tests (Serial) | |
run: | | |
pytest --timeout=300 | |
- name: Run tests (MPI, n=1) | |
run: | | |
mpirun -n 1 python -m pytest tests/romtools/* --with-mpi --timeout=300 | |
- name: Run tests (MPI, n=3) | |
run: | | |
mpirun -n 3 python -m pytest tests/romtools/* --with-mpi --timeout=300 | |
- name: Run tests (MPI, n=4) | |
run: | | |
mpirun -n 4 python -m pytest tests/romtools/* --with-mpi --timeout=300 |