Conversation
Releasing zppy v3.0.0 && zppy-interfaces v0.1.2Update expected results on Chrysalis# Remembered to copy over the old expected results!
cd /lcrc/group/e3sm/public_html
cp -r zppy_test_resources zppy_test_resources_previous/expected_results_until_20250403
cd ~/ez/zppy
git branch
# test_zppy_20250403 --
# The branch we just used for integration testing
# That way we have the unique_id and other parameters matching
# conda env is zppy_dev_20250403
git status
# Check for un-committed changes
chmod u+x tests/integration/generated/update_*_chrysalis.sh
./tests/integration/generated/update_bash_generation_expected_files_chrysalis.sh
# 1 passed in 1.51s
./tests/integration/generated/update_campaign_expected_files_chrysalis.sh
# 6 passed in 1.71s
./tests/integration/generated/update_defaults_expected_files_chrysalis.sh
# 1 passed in 0.29s
time ./tests/integration/generated/update_weekly_expected_files_chrysalis.sh # Started at 9:02am
# 1 passed in 1357.48s (0:22:37)
# real 28m58.591s
# user 14m30.480s
# sys 0m52.155s
cat test_images_summary.mdThat gives the following summary, with no errors. Diff subdir is where to find the lists of missing/mismatched images, the image diff grid, and the individual diffs.
Testing steps on Chrysalis# 2025-04-04
ls /lcrc/soft/climate/e3sm-unified/test_e3sm_unified_1.11.0*
# Latest Unified is still rc13
# e3sm_diags, zppy-interfaces, and zppy have all been updated since then.
# We have to use dev environments
cd ~/ez/zppy-interfaces
git status
# Make sure no changes will persist
git branch
# test_zi_main_20250403
# We'll keep that branch since there have been no changes on zppy-interfaces since then
git log
# Last commit, from 3/31: Merge pull request #16 from E3SM-Project/fix_plots_lnd
# Use existing conda env:
conda activate zi_dev_20250403 && pip install . # Make sure to `pip install` only after activating the correct env!
pytest tests/unit/global_time_series/test_*.py
# 10 passed in 31.27s
cd ~/ez/e3sm_diags
git status
# Make sure no changes will persist
# We still want to use e3sm_diags v3.0.0, so we can just use that env again
git branch
# test_e3sm_diags_v3.0.0
git log
# Latest commit, from 3/24: Bump to v3.0.0 (#956)
conda activate e3sm_diags_dev_v3.0.0 && pip install . # Make sure to `pip install` only after activating the correct env!
cd ~/ez/zppy
git status
# Make sure no changes will persist
git fetch upstream main
git checkout -b test_zppy_20250404 upstream/main
git log
# Latest commits:
# 4/4: Merge pull request #701 from E3SM-Project/image-checker-updates
# 4/4: Fix year in ilamb template (#705)
# 4/3: Merge pull request #694 from E3SM-Project/add_example_cfg_iss_692
conda clean --all --y
conda env create -f conda/dev.yml -n zppy_dev_20250404
conda activate zppy_dev_20250404 && pip install . # Make sure to `pip install` only after activating the correct env!
pytest tests/test_*.py
# 25 passed in 0.35s
# Edit tests/integration/utils.py
# UNIQUE_ID = "test_zppy_20250404"
# "diags_environment_commands": "source /gpfs/fs1/home/ac.forsyth2/miniforge3/etc/profile.d/conda.sh; conda activate e3sm_diags_dev_v3.0.0",
# "environment_commands_test": "source /lcrc/soft/climate/e3sm-unified/test_e3sm_unified_1.11.0rc13_chrysalis.sh",
# "global_time_series_environment_commands": "source /gpfs/fs1/home/ac.forsyth2/miniforge3/etc/profile.d/conda.sh; conda activate zi_dev_20250403",
# Set: generate_cfgs(unified_testing=True, dry_run=False)
# Keep:
# "user_input_v2": "/lcrc/group/e3sm/ac.forsyth2/",
# "user_input_v3": "/lcrc/group/e3sm2/ac.wlin/",
python tests/integration/utils.py
git add -A # To make it clear if there are later changes
zppy -c tests/integration/generated/test_weekly_comprehensive_v3_chrysalis.cfg
zppy -c tests/integration/generated/test_weekly_comprehensive_v2_chrysalis.cfg
zppy -c tests/integration/generated/test_weekly_bundles_chrysalis.cfg # Runs 1st part of bundles cfg
zppy -c tests/integration/generated/test_weekly_bundles_chrysalis.cfg # Runs 2nd part of bundles cfg
cd /lcrc/group/e3sm/ac.forsyth2/zppy_weekly_comprehensive_v3_output/test_zppy_20250404/v3.LR.historical_0051/post/scripts/
grep -v "OK" *status
# No errors
cd /lcrc/group/e3sm/ac.forsyth2/zppy_weekly_comprehensive_v2_output/test_zppy_20250404/v2.LR.historical_0201/post/scripts/
grep -v "OK" *status
# No errors
cd /lcrc/group/e3sm/ac.forsyth2/zppy_weekly_bundles_output/test_zppy_20250404/v3.LR.historical_0051/post/scripts
grep -v "OK" *status
# No errors
cd ~/ez/zppy
ls tests/integration/test_*.py
pytest tests/integration/test_bash_generation.py
# 1 passed in 1.82s
pytest tests/integration/test_campaign.py
# 6 passed in 2.02s
pytest tests/integration/test_defaults.py
# 1 passed in 0.36s
pytest tests/integration/test_last_year.py
# 1 passed in 0.28s
pytest tests/integration/test_bundles.py
# 2 passed in 0.23s
pytest tests/integration/test_images.py # Started at 12:36pm
# 1 passed in 1410.30s (0:23:30)This produces a table with no errors: Diff subdir is where to find the lists of missing/mismatched images, the image diff grid, and the individual diffs.
Releasing zppy-interfaces v0.1.2Following the example of https://docs.e3sm.org/zppy/_build/html/main/dev_guide/release.html Bumping the version cd ~/ez/zppy-interfaces
git fetch upstream main
git checkout -b v0.1.2 upstream/main
git grep -in "0\.1"
# .github/DISCUSSION_TEMPLATE/questions.yml:60: Paste your zppy-interfaces version here (e.g., `zppy-interfaces v0.0.1`).
# .github/ISSUE_TEMPLATE/bug_report.yml:31: Paste your zppy-interfaces version here (e.g., `zppy-interfaces v0.0.1`).
# pyproject.toml:44: "black==24.10.1",
# zppy_interfaces/version.py:1:__version__ = "0.1.1"
# Set __version__ = "0.1.2" in zppy_interfaces/version.py
git add -A
git commit -m "Bump to 0.1.2"
git push upstream v0.1.2
# Create https://github.com/E3SM-Project/zppy-interfaces/pull/24
# Merge it.Releasing on GitHub: production releases git checkout main
git branch -D v0.1.2
# Go to https://github.com/E3SM-Project/zppy-interfaces/releases
# "Draft a new release"
# Tag: v0.1.2
# Target: main
# Release title: v0.1.2
# Describe this releasev0.1.2 is now on https://github.com/E3SM-Project/zppy-interfaces/releases. Unlike git clone git@github.com:conda-forge/zppy-interfaces-feedstock.git
git remote -v
# origin git@github.com:conda-forge/zppy-interfaces-feedstock.git (fetch)
# origin git@github.com:conda-forge/zppy-interfaces-feedstock.git (push)
git remote add upstream git@github.com:conda-forge/zppy-interfaces-feedstock.git
# Fork the feedstock: https://github.com/forsyth2/zppy-interfaces-feedstock
git remote add forsyth2 git@github.com:forsyth2/zppy-interfaces-feedstock.git
curl -sL https://github.com/E3SM-Project/zppy-interfaces/archive/v0.1.2.tar.gz | openssl sha256
# SHA2-256(stdin)= 6948bedb8a667e1bce29ac4edaa21f5d0461aa8e07919d68db65fa1e6d4d7b8e
git fetch upstream dev
# fatal: couldn't find remote ref dev
git fetch upstream main
git checkout -b v0.1.2 upstream/main
# In `recipe/meta.yaml`, update the version and sha256 (and the build number if needed):
# {% set version = "0.1.2" %}
# sha256: ... # The sha256 from the previous step
# number: 0 # build > number should always be 0
git grep -in 0.1.2 *
# recipe/meta.yaml:2:{% set version = "0.1.2" %}
git add -A
git commit -m "v0.1.2"
git push forsyth2 v0.1.2
# Created https://github.com/conda-forge/zppy-interfaces-feedstock/pull/1Releasing zppy v3.0.0https://docs.e3sm.org/zppy/_build/html/main/dev_guide/release.html Preparing the Documentationcd ~/ez/zppy
git status
# Make sure no changes will persist
git fetch upstream main
git checkout -b versioned-docs upstream/main
# Make edits
git add -A
git commit -m "Update parameters reference"
git push upstream versioned-docs
# Create https://github.com/E3SM-Project/zppy/pull/706
# MergeBumping the Versioncd ~/ez/zppy
git status
# Make sure there are no uncommitted changes.
git fetch upstream
git checkout -b v3.0.0 upstream/main
tbump 3.0.0 --no-tag
git push upstream v3.0.0
# Create pull request: https://github.com/E3SM-Project/zppy/pull/707
# MergeReleasing on GitHub: production releasesgit checkout main
git branch -D v3.0.0
# Delete branch from https://github.com/E3SM-Project/zppy/pull/707
# Edit saved draft; add commits (https://github.com/E3SM-Project/zppy/commits/main) since v3.0.0rc5
# Publish release
# Creates https://github.com/E3SM-Project/zppy/releases/tag/v3.0.0Releasing on conda-forge: production releasesPR should come up automatically on https://github.com/conda-forge/zppy-feedstock |
Bump to 3.0.0