Skip to content

Bump to 3.0.0#707

Merged
forsyth2 merged 1 commit intomainfrom
v3.0.0
Apr 4, 2025
Merged

Bump to 3.0.0#707
forsyth2 merged 1 commit intomainfrom
v3.0.0

Conversation

@forsyth2
Copy link
Copy Markdown
Collaborator

@forsyth2 forsyth2 commented Apr 4, 2025

Bump to 3.0.0

@forsyth2 forsyth2 added the Update version Code specifically to update the version label Apr 4, 2025
@forsyth2 forsyth2 self-assigned this Apr 4, 2025
@forsyth2 forsyth2 merged commit a7508c8 into main Apr 4, 2025
5 checks passed
@forsyth2 forsyth2 deleted the v3.0.0 branch April 4, 2025 20:53
@forsyth2
Copy link
Copy Markdown
Collaborator Author

forsyth2 commented Apr 4, 2025

Releasing zppy v3.0.0 && zppy-interfaces v0.1.2

Update 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.md

That 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.
Note image diff grids can not yet be constructed automatically.

Test name Total images Correct images Missing images Mismatched images Diff subdir
comprehensive_v2_e3sm_diags 2921 2921 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250403/v2.LR.historical_0201/image_check_failures_comprehensive_v2/e3sm_diags
comprehensive_v2_mpas_analysis 854 854 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250403/v2.LR.historical_0201/image_check_failures_comprehensive_v2/mpas_analysis
comprehensive_v2_global_time_series 6 6 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250403/v2.LR.historical_0201/image_check_failures_comprehensive_v2/global_time_series
comprehensive_v2_ilamb 776 776 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250403/v2.LR.historical_0201/image_check_failures_comprehensive_v2/ilamb
comprehensive_v3_e3sm_diags 3750 3750 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250403/v3.LR.historical_0051/image_check_failures_comprehensive_v3/e3sm_diags
comprehensive_v3_mpas_analysis 854 854 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250403/v3.LR.historical_0051/image_check_failures_comprehensive_v3/mpas_analysis
comprehensive_v3_global_time_series 15 15 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250403/v3.LR.historical_0051/image_check_failures_comprehensive_v3/global_time_series
comprehensive_v3_ilamb 774 774 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250403/v3.LR.historical_0051/image_check_failures_comprehensive_v3/ilamb
bundles_e3sm_diags 1472 1472 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_bundles_www/test_zppy_20250403/v3.LR.historical_0051/image_check_failures_bundles/e3sm_diags
bundles_global_time_series 3 3 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_bundles_www/test_zppy_20250403/v3.LR.historical_0051/image_check_failures_bundles/global_time_series
bundles_ilamb 388 388 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_bundles_www/test_zppy_20250403/v3.LR.historical_0051/image_check_failures_bundles/ilamb
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.
Note image diff grids can not yet be constructed automatically.

Test name Total images Correct images Missing images Mismatched images Diff subdir
comprehensive_v2_e3sm_diags 2921 2921 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250404/v2.LR.historical_0201/image_check_failures_comprehensive_v2/e3sm_diags
comprehensive_v2_mpas_analysis 854 854 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250404/v2.LR.historical_0201/image_check_failures_comprehensive_v2/mpas_analysis
comprehensive_v2_global_time_series 6 6 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250404/v2.LR.historical_0201/image_check_failures_comprehensive_v2/global_time_series
comprehensive_v2_ilamb 776 776 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v2_www/test_zppy_20250404/v2.LR.historical_0201/image_check_failures_comprehensive_v2/ilamb
comprehensive_v3_e3sm_diags 3750 3750 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250404/v3.LR.historical_0051/image_check_failures_comprehensive_v3/e3sm_diags
comprehensive_v3_mpas_analysis 854 854 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250404/v3.LR.historical_0051/image_check_failures_comprehensive_v3/mpas_analysis
comprehensive_v3_global_time_series 15 15 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250404/v3.LR.historical_0051/image_check_failures_comprehensive_v3/global_time_series
comprehensive_v3_ilamb 774 774 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_comprehensive_v3_www/test_zppy_20250404/v3.LR.historical_0051/image_check_failures_comprehensive_v3/ilamb
bundles_e3sm_diags 1472 1472 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_bundles_www/test_zppy_20250404/v3.LR.historical_0051/image_check_failures_bundles/e3sm_diags
bundles_global_time_series 3 3 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_bundles_www/test_zppy_20250404/v3.LR.historical_0051/image_check_failures_bundles/global_time_series
bundles_ilamb 388 388 0 0 /lcrc/group/e3sm/public_html/diagnostic_output/ac.forsyth2/zppy_weekly_bundles_www/test_zppy_20250404/v3.LR.historical_0051/image_check_failures_bundles/ilamb
Releasing zppy-interfaces v0.1.2

Following 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 release

v0.1.2 is now on https://github.com/E3SM-Project/zppy-interfaces/releases. Unlike zppy, there is no further CI/CD pipeline set up to take this any further. So follow steps at https://docs.e3sm.org/zppy/_build/html/main/dev_guide/release.html#releasing-on-conda-forge-release-candidates:

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/1
Releasing zppy v3.0.0

https://docs.e3sm.org/zppy/_build/html/main/dev_guide/release.html

Preparing the Documentation

cd ~/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
# Merge

Bumping the Version

cd ~/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
# Merge

Releasing on GitHub: production releases

git 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.0

Releasing on conda-forge: production releases

PR should come up automatically on https://github.com/conda-forge/zppy-feedstock

@forsyth2 forsyth2 mentioned this pull request Oct 8, 2025
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Update version Code specifically to update the version

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant