GAC Test Harness #7602
Workflow file for this run
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
# This workflow will install Python dependencies, run tests and lint with a variety of Python versions | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | |
name: MPI tests | |
on: | |
push: | |
branches: [main] | |
pull_request: | |
branches: [main] | |
concurrency: | |
# NOTE: the value of `group` should be chosen carefully, | |
# otherwise we might end up over- or under-canceling workflow runs | |
# github.head_ref is only defined for pull request events | |
# so, if it's not present (i.e. event was triggered by push) | |
# we use github.ref instead | |
group: ${{ github.workflow }}-${{ github.head_ref || github.ref }} | |
cancel-in-progress: true | |
env: | |
# --color=yes needed for colorized output to be shown in GHA logs | |
# --pyargs watertap is needed to be able to define CLI options in watertap/conftest.py | |
PYTEST_ADDOPTS: "--color=yes" | |
PIP_PROGRESS_BAR: "off" | |
jobs: | |
build: | |
runs-on: ${{ matrix.os-version }} | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: [3.8] | |
os: | |
- linux | |
- win64 | |
# - macos | |
include: | |
- os: linux | |
os-version: ubuntu-20.04 | |
- os: win64 | |
os-version: windows-2019 | |
# - os: macos | |
# os-version: macos-10.15 | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: conda-incubator/setup-miniconda@v2 | |
with: | |
auto-update-conda: true | |
python-version: ${{ matrix.python-version }} | |
- name: Install dependencies | |
run: | | |
conda install --quiet --yes mpi4py | |
python -m pip install --upgrade pip | |
pip install -r requirements-dev.txt | |
idaes get-extensions --verbose | |
- name: Conda info | |
run: conda info | |
- name: Test parallel pytest w/ MPI | |
run: | | |
mpiexec -n 2 coverage run --parallel-mode -m mpi4py -m pytest watertap/tools/parameter_sweep/tests/test*parameter_sweep.py watertap/tools/analysis_tools/loop_tool/tests/test*loop_tool.py --no-cov | |
# single report | |
coverage combine | |
# convert to XML | |
coverage xml | |
- name: Upload coverage report to Codecov | |
uses: codecov/codecov-action@v2 |