Skip to content

Unify Mac and Linux tests #7041

Unify Mac and Linux tests

Unify Mac and Linux tests #7041

Workflow file for this run

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