Skip to content

Merge remote-tracking branch 'upstream/develop' into ctopt #18

Merge remote-tracking branch 'upstream/develop' into ctopt

Merge remote-tracking branch 'upstream/develop' into ctopt #18

Workflow file for this run

name: CI_WISDEM
# We run CI on push commits and pull requests 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_conda:
name: Conda Build-Test (${{ 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-13, windows-latest]
python-version: ["3.9", "3.10", "3.11", "3.12"]
steps:
- name: checkout repository
uses: actions/checkout@v4
- name: Install conda/mamba
uses: conda-incubator/setup-miniconda@v2
# https://github.com/marketplace/actions/setup-miniconda
with:
# To use mamba, uncomment here, comment out the miniforge line
#mamba-version: "*"
miniforge-version: "latest"
auto-update-conda: true
python-version: ${{ matrix.python-version }}
environment-file: environment.yml
activate-environment: test
auto-activate-base: false
# Install dependencies of WEIS specific to ubuntu
- name: Add dependencies ubuntu specific
if: false == contains( matrix.os, 'windows')
run: |
conda install -y petsc4py gfortran
# Install dependencies of WISDEM specific to windows
- name: Add dependencies windows specific
if: contains( matrix.os, 'windows')
run: |
conda install -y m2w64-toolchain libpython
- name: Debug config
run: |
conda list
which -a gfortran
which pip
- name: Install WISDEM with setup
run: |
pip install --no-build-isolation --no-deps -e . -v
# Debugging session
#- name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
- name: Run all tests
if: contains( matrix.os, 'ubuntu')
run: |
pytest -p no:warnings --disable-warnings --cov=wisdem
- name: Limited test for non Linux
if: false == contains( matrix.os, 'ubuntu')
run: |
cd wisdem/test/test_gluecode
pytest -p no:warnings --disable-warnings test_g*
# Run coveralls
- name: Run coveralls
if: contains( matrix.os, 'ubuntu') && contains( matrix.python-version, '3.11')
#uses: coverallsapp/github-action@v2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
coveralls --service=github
build_pip:
name: Pip Build-Test (${{ matrix.os }} Python ${{ matrix.python-version }})
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -el {0}
strategy:
fail-fast: False
matrix:
os: [ubuntu-latest, windows-latest, macos-13] #mac-13 intel, mac-latest is arm
python-version: ["3.11"]
steps:
- name: Setup GNU Fortran
if: false == contains( matrix.os, 'windows')
uses: awvwgk/setup-fortran@v1
- name: Install compiler
if: false == contains( matrix.os, 'windows')
id: install_cc
uses: rlalik/setup-cpp-compiler@master
with:
compiler: clang
- name: Install mingw-w64 on Windows
if: contains( matrix.os, 'windows')
uses: msys2/setup-msys2@v2
with:
path-type: inherit
install: |
mingw-w64-x86_64-gcc
mingw-w64-x86_64-gcc-fortran
- name: checkout repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v5
id: cp
with:
python-version: ${{ matrix.python-version }}
update-environment: true
- name: Set compilers
if: false == contains( matrix.os, 'windows')
run: |
echo "CC=${{ steps.install_cc.outputs.cc }}" >> $GITHUB_ENV
echo "CXX=${{ steps.install_cc.outputs.cxx }}" >> $GITHUB_ENV
- name: Install WISDEM with setup
env:
MESON_ARGS: "-Dpython_target=${{ steps.cp.outputs.python-path }}"
run: |
'${{ steps.cp.outputs.python-path }}' -m pip install --upgrade pip install pytest numpy
'${{ steps.cp.outputs.python-path }}' -m pip install -v .
- name: Limited test
run: |
cd wisdem/test/test_gluecode
pytest -p no:warnings --disable-warnings test_g*