Unify Mac and Linux tests #7124
Workflow file for this run
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: basic tests | |
on: [push, pull_request] | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} | |
cancel-in-progress: true | |
jobs: | |
build: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
max-parallel: 60 | |
matrix: | |
os: [ubuntu-latest, macos-latest] | |
python-version: ['3.9', '3.10', '3.11', '3.12'] | |
test-type: [unittest, search, docs] | |
defaults: | |
run: | |
# important when we use Conda envs | |
shell: bash -el {0} | |
steps: | |
- uses: conda-incubator/setup-miniconda@v3 | |
with: | |
auto-update-conda: true | |
python-version: ${{ matrix.python-version }} | |
activate-environment: tests | |
- uses: actions/checkout@v4 | |
- name: installing system packages | |
run: | | |
conda install fftw git-lfs graphviz gsl openssl | |
conda install -c conda-forge "tox<4.0.0" mpi openmpi mpi4py | |
- name: installing macosx packages | |
if: matrix.os == 'macos-latest' | |
run: | | |
conda install -c conda-forge lapack==3.9.0 | |
- name: installing ubuntu packages | |
if: matrix.os == 'ubuntu-latest' | |
run: | | |
conda install -c conda-forge lapack==3.6.1 | |
- name: installing auxiliary data files | |
run: | | |
GIT_LFS_SKIP_SMUDGE=1 git clone https://git.ligo.org/lscsoft/lalsuite-extra.git | |
cd lalsuite-extra | |
git lfs pull -I "data/lalsimulation/SEOBNRv2ROM_*.dat" | |
git lfs pull -I "data/lalsimulation/*ChirpTime*.dat" | |
git lfs pull -I "data/lalsimulation/SEOBNRv4ROM_v2.0.hdf5" | |
mv data/lalsimulation/* ../ | |
cd ../ | |
- name: run pycbc test suite | |
run: | | |
export LAL_DATA_PATH=$PWD | |
export LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH | |
export CPATH=$CONDA_PREFIX/include:$CPATH | |
export PKG_CONFIG_PATH=$CONDA_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH | |
tox -e py-${{matrix.test-type}} | |
- name: check help messages work | |
if: matrix.test-type == 'unittest' | |
run: | | |
export LAL_DATA_PATH=$PWD | |
export LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH | |
export CPATH=$CONDA_PREFIX/include:$CPATH | |
export PKG_CONFIG_PATH=$CONDA_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH | |
tox -e py-help | |
- name: run inference tests | |
if: matrix.test-type == 'search' | |
run: | | |
export LAL_DATA_PATH=$PWD | |
export LIBRARY_PATH=$CONDA_PREFIX/lib:$LIBRARY_PATH | |
export CPATH=$CONDA_PREFIX/include:$CPATH | |
export PKG_CONFIG_PATH=$CONDA_PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH | |
tox -e py-inference | |
- name: store documentation page | |
if: matrix.test-type == 'docs' && matrix.python-version == '3.12' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: documentation-page | |
path: _gh-pages | |
deploy_documentation: | |
runs-on: ubuntu-latest | |
needs: build | |
if: github.ref == 'refs/heads/master' && github.event_name == 'push' | |
steps: | |
- name: retrieve built documentation | |
uses: actions/[email protected] | |
with: | |
name: documentation-page | |
- name: debug | |
run: | | |
mkdir _gh-pages | |
mv latest _gh-pages | |
- name: deploying to gh-pages | |
uses: JamesIves/[email protected] | |
with: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
BRANCH: gh-pages | |
FOLDER: _gh-pages | |
SINGLE_COMMIT: true |