Skip to content

macOs build III

macOs build III #99

# 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: CI
on:
push:
branches: [ "master", "dev" ]
pull_request:
branches: [ "master", "dev" ]
workflow_dispatch:
inputs:
debug_enabled:
type: boolean
description: 'Run the build with tmate debugging enabled (https://github.com/marketplace/actions/debugging-with-tmate)'
required: false
default: false
jobs:
build:
strategy:
fail-fast: false
matrix:
python-version: ["3.9"]
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
submodules: recursive
# brew install --with-toolchain llvm libomp ?
- name: (MacOs only) Install Clang
if: matrix.os == 'macos-latest'
run: |
brew install llvm libomp
which clang
ls /usr/local/opt/llvm
# - name: (MacOs only) Set gcc/gxx environment variables
# if: matrix.os == 'macos-latest'
# run: |
# echo "gcc=/usr/local/bin/$(ls /usr/local/bin | grep ^gcc-[0-9] | sort -V -r | head -n 1)" >> $GITHUB_ENV
# echo "gxx=/usr/local/bin/$(ls /usr/local/bin | grep ^g++-[0-9] | sort -V -r | head -n 1)" >> $GITHUB_ENV
# echo "gcc = $env.gcc"
# echo "gxx = $env.gxx"a
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Update pip
run: |
python -m pip install --upgrade pip
# Run interactive debugging session for debug_enabled manually
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
if: ${{ github.event_name == 'workflow_dispatch' && inputs.debug_enabled }}
- name: Install package in test mode
run: |
touch .cov
ls
python -m pip install .[test]
- name: Test with pytest
run: |
python -m pip install cython==3.0.0a11 pytest-cov
pytest --cov .
- name: Upload report to Codecov
uses: codecov/codecov-action@v3.1.0
with:
token: ${{ secrets.CODECOV_TOKEN }}
env_vars: OS,PYTHON