fix meson options #76
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: Tests | |
on: | |
push: | |
branches: | |
- main | |
pull_request: | |
jobs: | |
Tests: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
build: [meson, setuptools] | |
include: | |
- os: ubuntu-latest | |
python-version: "3.10" | |
- os: macos-latest | |
python-version: "3.11" | |
steps: | |
- name: Checkout nuflux | |
uses: actions/checkout@v2 | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: pip | |
- name: Apt-Get Install Dependencies | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
sudo apt-get update | |
sudo apt-get install ninja-build gcovr libcfitsio-dev python-is-python3 libboost-python-dev doxygen | |
python3 -m pip install sphinx breathe sphinx_rtd_theme meson numpy | |
curl -L https://github.com/icecube/photospline/archive/refs/tags/v2.1.0.tar.gz | tar xz | |
cmake -S photospline-2.1.0 -B photospline -DCMAKE_BUILD_TYPE=Release | |
sudo make install -C photospline | |
- name: HomeBrew Install Dependencies | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew tap icecube/icecube | |
brew install boost-python3 ninja doxygen cfitsio gcovr icecube/icecube/photospline | |
python3 -m pip install sphinx breathe sphinx_rtd_theme meson numpy | |
- name: Build nuflux with Meson | |
if: matrix.build == 'meson' | |
run: | | |
meson setup build . -D b_coverage=true --libdir=lib | |
ninja -C build | |
sudo ninja -C build install | |
- name: Build nuflux with setuptools | |
if: matrix.build == 'setuptools' | |
run: python3 -m pip install --user . | |
- name: Run Python Tests | |
working-directory: tests | |
env: | |
LD_LIBRARY_PATH: /usr/local/lib/ | |
PYTHONPATH: /usr/local/lib/python${{matrix.python-version}}/site-packages | |
run: | | |
./test_fluxes.py | |
python3 -m doctest -v ../README.md | |
- name: Generate Coverage Report | |
if: matrix.build == 'meson' | |
run: ninja -C build coverage | |
- name: Upload Coverage to Codecov | |
if: matrix.build == 'meson' | |
uses: codecov/codecov-action@v1 | |
with: | |
fail_ci_if_error: false | |
verbose: true | |
- name: Build Documentation | |
if: matrix.build == 'meson' | |
env: | |
LD_LIBRARY_PATH: /usr/local/lib/ | |
PYTHONPATH: /usr/local/lib/python${{matrix.python-version}}/site-packages | |
run: ninja -C build docs/html | |
- name: Upload Documentation | |
if: matrix.build == 'meson' && matrix.os == 'ubuntu-latest' && github.ref == 'refs/heads/master' | |
run: docs/docs-upload.sh | |
env: | |
ICECUBE_PASSWORD: ${{ secrets.ICECUBE_PASSWORD }} |