Skip to content

BLD/REL: pcds-5.8.0 #88

BLD/REL: pcds-5.8.0

BLD/REL: pcds-5.8.0 #88

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@v3
with:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
run: mamba 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
# The env from current-env-tests + the latest tags slapped onto it
py39-next-incr:
defaults:
run:
shell: bash --login -eo pipefail {0}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
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
- name: Environment Export
if: always()
run: conda env export --file export.yaml
- uses: actions/upload-artifact@v3
if: always()
with:
name: incr_env.yaml
path: "export.yaml"
# Start from scratch to get some py39 testing done
# This is a fallback alternative to py39-next-incr, which is preferred
py39-next-full:
defaults:
run:
shell: bash --login -eo pipefail {0}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
run: |
cd scripts
python update_tags.py pcds
./create_base_env.sh test pcds 3.9
- uses: ./.github/actions/finalize_and_check_env
- uses: ./.github/actions/run_tests
with:
use-tag: true
- uses: ./.github/actions/release_notes
- name: Environment Export
if: always()
run: conda env export --file export.yaml
- uses: actions/upload-artifact@v3
if: always()
with:
name: next_env.yaml
path: "export.yaml"
# Try to build a python 3.10 env
py310-next-full:
defaults:
run:
shell: bash --login -eo pipefail {0}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
run: |
cd scripts
python update_tags.py pcds
./create_base_env.sh test pcds 3.10
- uses: ./.github/actions/finalize_and_check_env
- uses: ./.github/actions/run_tests
with:
use-tag: true
- uses: ./.github/actions/release_notes
# Try to build a python 3.11 env
py311-next-full:
defaults:
run:
shell: bash --login -eo pipefail {0}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
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
py312-next-full:
defaults:
run:
shell: bash --login -eo pipefail {0}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: ./.github/actions/conda_setup
- name: create environment
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
# Checks which packages are not ready yet for py310
py310-readiness:
needs: py310-next-full
if: failure()
defaults:
run:
shell: bash --login -eo pipefail {0}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/conda_setup
- name: check packages
run: |
cd scripts
./check_py_compat.sh pcds 3.10 | tee ~/compat.log
- name: summarize failure
if: failure()
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY"
# Checks which packages are not ready yet for py311
py311-readiness:
needs: py311-next-full
if: failure()
defaults:
run:
shell: bash --login -eo pipefail {0}
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v3
- uses: ./.github/actions/conda_setup
- name: check packages
run: |
cd scripts
./check_py_compat.sh pcds 3.11 | tee ~/compat.log
- name: summarize failure
if: failure()
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY"
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@v3
- uses: ./.github/actions/conda_setup
- name: check packages
run: |
cd scripts
./check_py_compat.sh pcds 3.12 | tee ~/compat.log
- name: summarize failure
if: failure()
run: grep "uninstallable package" ~/compat.log >> "$GITHUB_STEP_SUMMARY"