Updates for CLMM version 1.14.1 and redshift info handling #1031
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: Continuous Integration | |
on: | |
push: | |
branches: [ master ] | |
pull_request: | |
branches: [ master ] | |
schedule: | |
# run this every week at 12 noon on Monday | |
- cron: '0 12 * * 1' | |
env: | |
EXAMPLE_DATA_FILE_VERSION: v3 | |
jobs: | |
# Run a download step first so that it is in | |
# the cache, because all the other jobs will be running | |
# at the same time and so might miss it. | |
Download_Data: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Cache example data | |
id: cache-example | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-example-data | |
with: | |
path: example.tar.gz | |
# update this when we change package contents and want | |
# to force an update | |
key: example-data-${{ env.EXAMPLE_DATA_FILE_VERSION }} | |
- name: Download test data | |
if: steps.cache-example.outputs.cache-hit != 'true' | |
run: | | |
wget -O example.tar.gz "https://portal.nersc.gov/cfs/lsst/txpipe/data/example.tar.gz" | |
Run_Installer: | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-14] | |
include: | |
- os: ubuntu-latest | |
INSTALL_DEPS: sudo apt-get update && sudo apt-get -y install wget | |
- os: macos-14 | |
INSTALL_DEPS: echo nothing to do | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install wget | |
run: | | |
${{ matrix.INSTALL_DEPS }} | |
- name: Cache conda environment | |
id: cache-conda | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-conda-environment | |
with: | |
path: ./conda | |
key: ${{ matrix.os }}-conda-${{ hashFiles('bin/install.sh','environment*.yml' ) }} | |
fail-on-cache-miss: false | |
- name: Run installer | |
if: steps.cache-conda.outputs.cache-hit != 'true' | |
run: | | |
./bin/install.sh | |
Unit_Tests: | |
runs-on: ${{ matrix.os }} | |
needs: Run_Installer | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-14] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Restore conda environment | |
id: restore-conda | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-conda-environment | |
with: | |
path: ./conda | |
key: ${{ matrix.os }}-conda-${{ hashFiles('bin/install.sh','environment*.yml' ) }} | |
fail-on-cache-miss: true | |
- name: Test with pytest | |
run: | | |
source conda/bin/activate | |
ceci --version | |
pytest txpipe | |
Pipelines: | |
runs-on: ${{ matrix.os }} | |
needs: [Run_Installer, Download_Data] | |
strategy: | |
fail-fast: false | |
matrix: | |
os: [ubuntu-latest, macos-14] | |
pipeline: [metadetect, metacal, redmagic, lensfit, metadetect_source_only] | |
include: | |
- os: ubuntu-latest | |
INSTALL_DEPS: echo nothing to do | |
- os: macos-14 | |
INSTALL_DEPS: brew update-reset && brew install --cask basictex && eval "$(/usr/libexec/path_helper)" && pdflatex --version | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Install dependencies | |
run: | | |
${{ matrix.INSTALL_DEPS }} | |
- name: Restore conda environment | |
id: restore-conda | |
uses: actions/cache@v4 | |
env: | |
cache-name: cache-conda-environment | |
with: | |
path: ./conda | |
key: ${{ matrix.os }}-conda-${{ hashFiles('bin/install.sh','environment*.yml' ) }} | |
fail-on-cache-miss: true | |
- name: Restore example data | |
uses: actions/cache@v4 | |
with: | |
path: example.tar.gz | |
key: example-data-${{ env.EXAMPLE_DATA_FILE_VERSION }} | |
fail-on-cache-miss: true | |
- name: Extract test data | |
run: | | |
tar -zxvf example.tar.gz | |
- name: Run pipeline | |
run: | | |
mkdir -p cache/workspaces | |
source ./conda/bin/activate | |
# Just for the metadetect source pipeline | |
# we activate the debug mode with an env var | |
if [ "${{ matrix.pipeline }}" == "metadetect_source_only" ]; then | |
export TX_DASK_DEBUG=1 | |
fi | |
ceci examples/${{ matrix.pipeline }}/pipeline.yml | |
test -f data/example/outputs_${{ matrix.pipeline }}/shear_xi_plus.png | |
- name: Show logs | |
if: always() | |
run: | | |
# always run | |
cat data/example/logs_${{ matrix.pipeline }}/* | |
- name: Create output report | |
if: matrix.os == 'macos-14' | |
run: | | |
source ./conda/bin/activate | |
eval "$(/usr/libexec/path_helper)" | |
python bin/make_output_report.py data/example/outputs_${{ matrix.pipeline }} ${{ matrix.pipeline }}-report.md | |
pandoc ${{ matrix.pipeline }}-report.md -o ${{ matrix.pipeline }}-report.pdf | |
- name: Upload output report | |
if: matrix.os == 'macos-14' | |
uses: actions/upload-artifact@v4 | |
with: | |
name: ${{ matrix.pipeline }}-report | |
path: ${{ matrix.pipeline }}-report.pdf |