Skip to content

mpi

mpi #263

Workflow file for this run

on:
push:
branches:
- main
pull_request:
branches:
- main
concurrency:
group: ${{ github.ref }}_${{ github.workflow }}
cancel-in-progress: true
name: pytest
jobs:
py-check:
runs-on: ${{ matrix.config.os }}
name: ${{ matrix.config.os }} (${{ matrix.config.py }})
strategy:
fail-fast: false
matrix:
config:
- {os: windows-2022, py: '3.12'}
- {os: macOS-14, py: '3.11'}
- {os: ubuntu-24.04, py: '3.10'}
- {os: ubuntu-24.04, py: '3.12'}
env:
SDKROOT: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk
OS: ${{ matrix.config.os }}
PYTHON: ${{ matrix.config.py }}
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: ${{ matrix.config.py }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install .[ci]
- name: Install MPI (linux)
if: contains(matrix.config.os, 'ubuntu')
run: |
sudo apt-get update
sudo apt-get install -y mpi-default-dev
pip install mpi4py
- name: Download Microsoft MPI
if: contains(matrix.config.os, 'windows')
run: (new-object net.webclient).DownloadFile("https://download.microsoft.com/download/a/5/2/a5207ca5-1203-491a-8fb8-906fd68ae623/msmpisetup.exe",
"msmpisetup.exe")
shell: powershell
- name: Install MPI (win)
if: contains(matrix.config.os, 'windows')
run: |
msmpisetup.exe -unattend -minimal
pip install mpi4py
shell: cmd
- name: Install MPI (osx)
if: contains(matrix.config.os, 'macOS')
run: |
brew install openmpi
pip install mpi4py
- name: run pytest
run: |
pytest
- name: "Upload coverage"
uses: codecov/codecov-action@v4
with:
env_vars: OS,PYTHON
fail_ci_if_error: true
token: ${{ secrets.CODECOV_TOKEN }}
- name: build docs
# RTD builds on linux too
if: contains(matrix.config.os, 'ubuntu')
run: |
python -m pip install .[docs]
make -C docs html