Create an all-inclusive example unit test for ground-based data. #1481
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
# Use pre-built docker containers to run our unit tests on different python versions. | |
# | |
# In general, we try to run on: | |
# - The oldest supported python | |
# - The latest stable python that is the common default on most systems and conda | |
# - (During transitions) The newly released bleeding edge python | |
name: Run Test Suite | |
on: | |
push: | |
branches: | |
- master | |
pull_request: | |
branches: | |
- master | |
- toast3 | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
test: | |
name: Tests on ${{ matrix.arch }} with Conda Python-${{ matrix.python }} | |
runs-on: ${{ matrix.os }} | |
defaults: | |
run: | |
shell: bash -l {0} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- os: ubuntu-latest | |
python: "3.9" | |
arch: Linux-x86_64 | |
ompdisable: 0 | |
- os: ubuntu-latest | |
python: "3.10" | |
arch: Linux-x86_64 | |
ompdisable: 0 | |
- os: ubuntu-latest | |
python: "3.12" | |
arch: Linux-x86_64 | |
ompdisable: 0 | |
- os: macos-latest | |
python: "3.10" | |
arch: MacOSX-x86_64 | |
ompdisable: 1 | |
- os: macos-latest | |
python: "3.12" | |
arch: MacOSX-x86_64 | |
ompdisable: 1 | |
- os: macos-latest | |
python: "3.10" | |
arch: MacOSX-arm64 | |
ompdisable: 1 | |
- os: macos-latest | |
python: "3.12" | |
arch: MacOSX-arm64 | |
ompdisable: 1 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Setup Conda Base | |
run: | | |
sudo rm -rf /usr/share/miniconda \ | |
&& sudo rm -rf /usr/local/miniconda \ | |
&& curl -SL -o miniforge.sh https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-${{ matrix.arch }}.sh \ | |
&& bash miniforge.sh -b -f -p ~/conda \ | |
&& source ~/conda/etc/profile.d/conda.sh \ | |
&& conda activate base \ | |
&& conda update -n base --yes conda | |
- name: Check Conda Config | |
run: | | |
source ~/conda/etc/profile.d/conda.sh \ | |
&& conda activate base \ | |
&& conda info \ | |
&& conda list \ | |
&& conda config --show-sources \ | |
&& conda config --show | |
- name: Create Conda Env | |
run: | | |
source ~/conda/etc/profile.d/conda.sh \ | |
&& conda activate base \ | |
&& ./platforms/conda_dev_setup.sh toast ${{ matrix.python }} yes | |
- name: Install | |
run: | | |
source ~/conda/etc/profile.d/conda.sh \ | |
&& conda activate toast \ | |
&& export TOAST_BUILD_DISABLE_OPENMP=${{ matrix.ompdisable }} \ | |
&& ./platforms/conda.sh | |
- name: Run Serial Tests | |
run: | | |
source ~/conda/etc/profile.d/conda.sh \ | |
&& conda activate toast \ | |
&& export OMP_NUM_THREADS=2 \ | |
&& export MPI_DISABLE=1 \ | |
&& python3 -c 'import toast.tests; toast.tests.run()' \ | |
&& unset MPI_DISABLE \ | |
&& unset OMP_NUM_THREADS | |
- name: Run MPI Tests | |
run: | | |
source ~/conda/etc/profile.d/conda.sh \ | |
&& conda activate toast \ | |
&& export OMP_NUM_THREADS=1 \ | |
&& mpirun -np 2 python -c 'import toast.tests; toast.tests.run()' \ | |
&& unset OMP_NUM_THREADS | |