fix meson options #67
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: | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- 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 | |
- name: HomeBrew Install Dependencies | |
if: matrix.os == 'macos-latest' | |
run: | | |
brew install boost-python3 ninja doxygen cfitsio gcovr | |
python3 -m pip install numpy sphinx breathe sphinx_rtd_theme meson | |
- name: Checkout Photospline | |
uses: actions/checkout@v2 | |
with: | |
repository: icecube/photospline | |
ref: v2.0.7 | |
path: photospline | |
- name: Build Photospline | |
run: | | |
cmake . | |
make | |
sudo make install | |
working-directory: photospline | |
- name: Checkout nuflux | |
uses: actions/checkout@v2 | |
- 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 }} | |
# - name: Check Documentation Links | |
# if: matrix.build == 'meson' | |
# run: sphinx-build -c build/docs/ docs/ . -b linkcheck | |
# env: | |
# LD_LIBRARY_PATH: /usr/local/lib/:/usr/local/lib/x86_64-linux-gnu | |
# PYTHONPATH: /usr/local/lib/python3/dist-packages:/usr/local/lib/python3.11/site-packages |