pcds-6.0.0 (py311) #219
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: pcds-envs Integration Testing | |
on: | |
pull_request: | |
release: | |
types: | |
- published | |
schedule: | |
# Every monday morning >3 hours before start | |
- cron: '45 3 * * 1' | |
env: | |
MPLBACKEND: "agg" | |
QT_QPA_PLATFORM: "offscreen" | |
jobs: | |
# The latest deployed env OR the proposed env in a PR | |
current-env-tests: | |
defaults: | |
run: | |
shell: bash --login -eo pipefail {0} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/conda_setup | |
- name: create environment | |
id: create | |
run: conda env create -q -n pcds-test -f envs/pcds/env.yaml | |
- uses: ./.github/actions/finalize_and_check_env | |
- uses: ./.github/actions/run_tests | |
with: | |
use-tag: true | |
- uses: ./.github/actions/release_notes | |
if: steps.create.outcome == 'success' | |
# The env from current-env-tests + the latest tags slapped onto it | |
py311-next-incr: | |
defaults: | |
run: | |
shell: bash --login -eo pipefail {0} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/conda_setup | |
- name: create environment | |
id: create | |
run: | | |
cd scripts | |
python update_tags.py pcds | |
./create_incremental_env.sh test pcds origin/master | |
- uses: ./.github/actions/finalize_and_check_env | |
- uses: ./.github/actions/run_tests | |
with: | |
use-tag: true | |
- uses: ./.github/actions/release_notes | |
if: steps.create.outcome == 'success' | |
- name: Environment Export | |
id: export | |
if: steps.create.outcome == 'success' | |
run: | | |
conda activate base | |
python scripts/export_env.py --rel test --base pcds | |
- uses: actions/upload-artifact@v4 | |
if: steps.export.outcome == 'success' | |
with: | |
name: incr_env.yaml | |
path: "envs/pcds/env.yaml" | |
- name: Steps context debug | |
env: | |
STEPS_CONTEXT: ${{ toJson(steps) }} | |
run: echo "$STEPS_CONTEXT" | |
if: always() | |
# Start from scratch to get some py311 testing done | |
# This is a fallback alternative to py311-next-incr, which is preferred | |
py311-next-full: | |
defaults: | |
run: | |
shell: bash --login -eo pipefail {0} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/conda_setup | |
- name: create environment | |
id: create | |
run: | | |
cd scripts | |
python update_tags.py pcds | |
./create_base_env.sh test pcds 3.11 | |
- uses: ./.github/actions/finalize_and_check_env | |
- uses: ./.github/actions/run_tests | |
with: | |
use-tag: true | |
- uses: ./.github/actions/release_notes | |
if: steps.create.outcome == 'success' | |
- name: Environment Export | |
id: export | |
if: steps.create.outcome == 'success' | |
run: | | |
conda activate base | |
python scripts/export_env.py --rel test --base pcds | |
- uses: actions/upload-artifact@v4 | |
if: steps.export.outcome == 'success' | |
with: | |
name: py311_env.yaml | |
path: "envs/pcds/env.yaml" | |
- name: Steps context debug | |
env: | |
STEPS_CONTEXT: ${{ toJson(steps) }} | |
run: echo "$STEPS_CONTEXT" | |
if: always() | |
py312-next-full: | |
defaults: | |
run: | |
shell: bash --login -eo pipefail {0} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/conda_setup | |
- name: create environment | |
id: create | |
run: | | |
cd scripts | |
python update_tags.py pcds | |
./create_base_env.sh test pcds 3.12 | |
- uses: ./.github/actions/finalize_and_check_env | |
- uses: ./.github/actions/run_tests | |
with: | |
use-tag: true | |
- uses: ./.github/actions/release_notes | |
if: steps.create.outcome == 'success' | |
- name: Environment Export | |
id: export | |
if: steps.create.outcome == 'success' | |
run: | | |
conda activate base | |
python scripts/export_env.py --rel test --base pcds | |
- uses: actions/upload-artifact@v4 | |
if: steps.export.outcome == 'success' | |
with: | |
name: py312_env.yaml | |
path: "envs/pcds/env.yaml" | |
- name: Steps context debug | |
env: | |
STEPS_CONTEXT: ${{ toJson(steps) }} | |
run: echo "$STEPS_CONTEXT" | |
if: always() | |
py313-next-full: | |
defaults: | |
run: | |
shell: bash --login -eo pipefail {0} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/conda_setup | |
- name: create environment | |
id: create | |
run: | | |
cd scripts | |
python update_tags.py pcds | |
./create_base_env.sh test pcds 3.13 | |
- uses: ./.github/actions/finalize_and_check_env | |
- uses: ./.github/actions/run_tests | |
with: | |
use-tag: true | |
- uses: ./.github/actions/release_notes | |
if: steps.create.outcome == 'success' | |
- name: Environment Export | |
id: export | |
if: steps.create.outcome == 'success' | |
run: | | |
conda activate base | |
python scripts/export_env.py --rel test --base pcds | |
- uses: actions/upload-artifact@v4 | |
if: steps.export.outcome == 'success' | |
with: | |
name: py313_env.yaml | |
path: "envs/pcds/env.yaml" | |
- name: Steps context debug | |
env: | |
STEPS_CONTEXT: ${{ toJson(steps) }} | |
run: echo "$STEPS_CONTEXT" | |
if: always() | |
py312-readiness: | |
needs: py312-next-full | |
if: failure() | |
defaults: | |
run: | |
shell: bash --login -eo pipefail {0} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/conda_setup | |
- name: check packages conda | |
run: | | |
cd scripts | |
./check_py_compat.sh pcds 3.12 | tee ~/compat.log | |
- name: check packages pip | |
if: always() | |
run: | | |
conda create --name test python=3.12 | |
conda activate test | |
cd scripts | |
./check_py_compat_pypi.sh pcds | tee -a ~/compat.log | |
- name: summarize failure | |
if: failure() | |
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY" | |
py313-readiness: | |
needs: py313-next-full | |
if: failure() | |
defaults: | |
run: | |
shell: bash --login -eo pipefail {0} | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: ./.github/actions/conda_setup | |
- name: check packages conda | |
run: | | |
cd scripts | |
./check_py_compat.sh pcds 3.13 | tee ~/compat.log | |
- name: check packages pip | |
if: always() | |
run: | | |
conda create --name test python=3.13 | |
conda activate test | |
cd scripts | |
./check_py_compat_pypi.sh pcds | tee -a ~/compat.log | |
- name: summarize failure | |
if: failure() | |
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY" |