try this #83
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_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", "3.12"] | |
steps: | |
- name: Setup C/C++ 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 | |
- name: checkout repository | |
uses: actions/checkout@v4 | |
- 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: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
id: cp | |
with: | |
python-version: ${{ matrix.python-version }} | |
update-environment: true | |
- name: Editable Pip Install pyFrame3DD (windows) | |
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 | |
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", "3.12"] | |
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 | |