Catch extra exception #267
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: CI_WEIS | |
# We run CI on push commits on all branches | |
on: [push, pull_request] | |
# A workflow run is made up of one or more jobs that can run sequentially or in parallel | |
jobs: | |
build: | |
name: Build (${{ matrix.os }} Python ${{ matrix.python-version }}) | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash -el {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: ["ubuntu-latest", "macOS-latest"] | |
python-version: ["3.9","3.10","3.11"] | |
steps: | |
#- name: Setup GNU Fortran | |
# # if: false == contains( matrix.os, 'windows') | |
# uses: awvwgk/setup-fortran@main | |
- uses: actions/checkout@v3 | |
# This is the more official way to do miniconda, but it messes with the GitHub worker environment and shell quite a bit | |
- uses: conda-incubator/setup-miniconda@v2 | |
# https://github.com/marketplace/actions/setup-miniconda | |
with: | |
#miniconda-version: "latest" | |
#miniforge-version: "latest" | |
mamba-version: "*" | |
channels: conda-forge,defaults | |
channel-priority: true | |
#auto-update-conda: true | |
python-version: ${{ matrix.python-version }} | |
environment-file: environment.yml | |
activate-environment: test | |
auto-activate-base: false | |
# Install dependencies of WISDEM specific to mac # libgcc openblas libopenblas | |
- name: Add dependencies mac specific | |
if: contains( matrix.os, 'mac') | |
run: | | |
mamba install -y petsc4py mpi4py openmpi compilers | |
# Install dependencies of WISDEM specific to windows | |
- name: Add dependencies windows specific | |
if: contains( matrix.os, 'windows') | |
run: | | |
mamba install -y m2w64-toolchain libpython | |
# Install dependencies of WEIS specific to ubuntu | |
- name: Add dependencies ubuntu specific | |
if: contains( matrix.os, 'ubuntu') | |
# (if you use the shell here, cannot use 'compiler' package otherwise get link problems to system libraries | |
# Mpi only seems to work with the shell command though, so instead rely on system compilers | |
run: | | |
mamba install -y petsc4py mpi4py openmpi | |
python -c "import platform; print(platform.node())" | |
- name: Show custom environment | |
run: | | |
mamba list | |
printenv | sort | |
# Debugging session | |
#- name: Setup tmate session | |
# if: contains( matrix.os, 'mac') | |
# uses: mxschmitt/action-tmate@v3 | |
# Install WEIS | |
- name: Install WEIS | |
run: | | |
python setup.py develop | |
# List the collected tests for debugging purposes | |
- name: List tests | |
run: | | |
pytest weis --collect-only | |
# Run all tests within WEIS, but not computationally expensive examples | |
- name: Run tests within WEIS | |
run: | | |
pytest weis --cov-config=.coverageac --cov=weis | |
# Run coveralls | |
- name: Run coveralls | |
if: contains( matrix.os, 'ubuntu') | |
# This also works, https://github.com/AndreMiras/coveralls-python-action | |
#uses: AndreMiras/coveralls-python-action@develop | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
coveralls --service=github |