Skip to content

Merge pull request #11 from WISDEM/mesonpy #77

Merge pull request #11 from WISDEM/mesonpy

Merge pull request #11 from WISDEM/mesonpy #77

Workflow file for this run

name: CI_pyFrame3DD
# 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_pip:
name: Pip Build (${{ matrix.os }}) - ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -l {0}
strategy:
fail-fast: false #true
matrix:
os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: Setup C/C++ Compiler
id: install_cc
uses: rlalik/setup-cpp-compiler@v1.2
with:
compiler: gcc #clang
- name: checkout repository
uses: actions/checkout@v4
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v4
id: cp
with:
python-version: ${{ matrix.python-version }}
update-environment: true
- name: Editable Pip Install pyFrame3DD
env:
CC: '${{ steps.install_cc.outputs.cc }}'
CXX: '${{ steps.install_cc.outputs.cxx }}'
run: |
'${{ steps.cp.outputs.python-path }}' -m pip install --upgrade pip
'${{ steps.cp.outputs.python-path }}' -m pip install meson-python meson numpy ninja wheel
'${{ steps.cp.outputs.python-path }}' -m pip install --no-build-isolation -e .[test]
- name: Editable Test run
run: |
'${{ steps.cp.outputs.python-path }}' -m pytest test
- name: Pip Install pyFrame3DD
env:
CC: '${{ steps.install_cc.outputs.cc }}'
CXX: '${{ steps.install_cc.outputs.cxx }}'
run: |
'${{ steps.cp.outputs.python-path }}' -m pip uninstall pyframe3dd
'${{ steps.cp.outputs.python-path }}' -m pip install -v .[test]
#- name: Setup tmate session
# uses: mxschmitt/action-tmate@v3
# with:
# detached: true
# if: contains( matrix.os, 'ubuntu')
- name: Test run
run: |
'${{ steps.cp.outputs.python-path }}' -m pytest test
build_conda:
name: Conda Build (${{ matrix.os }}) - ${{ matrix.python-version }}
runs-on: ${{ matrix.os }}
defaults:
run:
shell: bash -el {0}
strategy:
fail-fast: false #true
matrix:
os: ["ubuntu-latest", "macOS-latest", "windows-latest"]
python-version: ["3.9", "3.10", "3.11"]
steps:
- name: checkout repository
uses: actions/checkout@v3
- uses: conda-incubator/setup-miniconda@v2
# https://github.com/marketplace/actions/setup-miniconda
with:
#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 WISDEM specific to windows
- name: Add dependencies windows specific
if: contains( matrix.os, 'windows')
run: |
conda install -y m2w64-toolchain libpython
# Install dependencies of WISDEM specific to windows
- name: Add dependencies mac specific
if: false == contains( matrix.os, 'windows')
run: |
conda install -y compilers
- name: Debug
run: |
conda list
printenv
- name: Conda Install pyFrame3DD
env:
MESON_ARGS: ""
run: |
python -m pip install . -v
- name: Test run
run: |
python -m pytest test
- name: Editable Conda Install pyFrame3DD
env:
MESON_ARGS: ""
run: |
python -m pip uninstall pyframe3dd
python -m pip install --no-build-isolation -e . -v
- name: Editable Test run
run: |
python -m pytest test