Unify Mac and Linux tests #7041
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] | |
steps: | |
- uses: conda-incubator/setup-miniconda@v3 | |
- uses: actions/checkout@v4 | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: installing system packages | |
run: | | |
conda install fftw mpi git-lfs graphviz gsl openssl openmpi | |
pip install "tox<4.0.0" pip setuptools --upgrade | |
- 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 | |
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 | |
tox -e py-${{matrix.test-type}} | |
- name: check help messages work | |
if: matrix.test-type == 'unittest' | |
run: | | |
export LAL_DATA_PATH=$PWD | |
tox -e py-help | |
- name: run inference tests | |
if: matrix.test-type == 'search' | |
run: | | |
export LAL_DATA_PATH=$PWD | |
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 |