Skip to content

Adjust upstream versions #356

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 11 commits into from
May 28, 2025
Merged

Adjust upstream versions #356

merged 11 commits into from
May 28, 2025

Conversation

khaeru
Copy link
Member

@khaeru khaeru commented May 27, 2025

In accordance with the upstream version policy and the release history:

  • Latest 4 upstream versions are 3.11 (just released), 3.10, 3.9, and 3.8.
  • Earliest version released within the last 2 years (since 2023-05-27) is v3.8 (released 2024-01-12).

Thus:

  • Drop support for upstream version ixmp/message_ix 3.7. (Sorry: the branch name is a misnomer/confusing. Support for 3.8 is not dropped.)
  • Explicitly test support for ixmp/message_ix 3.11 in the "pytest" CI workflow.
  • Bump minimum genno version to 1.25. An earlier version was only needed for ixmp/message_ix 3.8.0.
  • Drop minimum_version marks for:
    • genno 1.24 and earlier, message_ix 3.7 and earlier —since these are no longer supported. Also drop any workarounds for these versions.
    • genno 1.25 and message_ix 3.8 —since these minima are now enforced via pyproject.toml.

Also:

  • Adjust .util.minimum_version() to handle recursive references to other functions/callables decorated in the same way and thus their minimum version requirements.

How to review

  • Transport (@r-aneeque, auto-requested as a Code Owner) and water code (e.g. @adrivinca or @awais307, same):
    • Quickly skim the diff for the respective modules.
    • Note there are no changes to function or test bodies, only old decorations removed.
  • General code (@glatterf42)
    • Read the diff.
    • Note that the "pull_request" CI checks all pass; ignore "pull_request_target".

PR checklist

  • Continuous integration checks all ✅
  • Add or expand tests; coverage checks both ✅
  • Add, expand, or update documentation.
  • Update doc/whatsnew.
  • (After approval) Drop the TEMPORARY commit.

@khaeru khaeru self-assigned this May 27, 2025
@khaeru khaeru added enh New features or functionality ci Continuous integration & testing labels May 27, 2025
khaeru added a commit that referenced this pull request May 27, 2025
Copy link

codecov bot commented May 27, 2025

Codecov Report

Attention: Patch coverage is 98.90110% with 1 line in your changes missing coverage. Please review.

Project coverage is 71.8%. Comparing base (c8ab04d) to head (c6fab63).
Report is 12 commits behind head on main.

Files with missing lines Patch % Lines
message_ix_models/report/sim.py 83.3% 1 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##            main    #356     +/-   ##
=======================================
- Coverage   72.0%   71.8%   -0.2%     
=======================================
  Files        243     242      -1     
  Lines      19451   19385     -66     
=======================================
- Hits       14011   13935     -76     
- Misses      5440    5450     +10     
Files with missing lines Coverage Δ
message_ix_models/model/build.py 100.0% <100.0%> (ø)
message_ix_models/model/snapshot.py 25.8% <ø> (-2.5%) ⬇️
message_ix_models/model/transport/build.py 95.1% <100.0%> (ø)
message_ix_models/model/transport/config.py 98.6% <100.0%> (ø)
message_ix_models/model/transport/data.py 97.5% <100.0%> (ø)
message_ix_models/model/transport/operator.py 85.0% <100.0%> (-0.1%) ⬇️
message_ix_models/model/transport/workflow.py 82.6% <100.0%> (ø)
message_ix_models/model/water/data/demands.py 78.7% <100.0%> (-0.1%) ⬇️
...essage_ix_models/model/water/data/water_for_ppl.py 94.7% <ø> (-0.1%) ⬇️
message_ix_models/model/water/data/water_supply.py 76.2% <100.0%> (-0.2%) ⬇️
... and 25 more

... and 8 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@khaeru khaeru force-pushed the drop-upstream-3.8 branch 2 times, most recently from ee08cae to 39507b4 Compare May 27, 2025 21:50
@khaeru khaeru marked this pull request as ready for review May 28, 2025 05:54
Copy link
Member

@glatterf42 glatterf42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, lgtm :)

Copy link
Contributor

@adrivinca adrivinca left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To me and @Wegatriespython all looks good for the water side

khaeru added 8 commits May 28, 2025 10:45
- Remove @minimum_activity("message_ix 3.8") and earlier, now mandatory
  per pyproject.toml.
- Remove contents in .util.genno for compatibility with genno <= 1.24;
  adjust imports.
- Remove contents in .util.ixmp for compatibility with ixmp <= 3.7.0;
  adjust imports.
Since message_ix 3.8 is now the minimum for all of message-ix-models,
these are no longer needed.
Add MinimumVersionDecorator class to collect and clarify functionality.
@khaeru khaeru force-pushed the drop-upstream-3.8 branch from 39507b4 to c6fab63 Compare May 28, 2025 08:45
@khaeru khaeru merged commit bd3e722 into main May 28, 2025
7 of 8 checks passed
@khaeru khaeru deleted the drop-upstream-3.8 branch May 28, 2025 08:45
@khaeru khaeru mentioned this pull request May 28, 2025
3 tasks
@khaeru khaeru added this to the 2025-06 milestone May 28, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci Continuous integration & testing enh New features or functionality
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants