-
Notifications
You must be signed in to change notification settings - Fork 37
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
Save minutes by avoiding duplicate test runs #150
Conversation
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #150 +/- ##
=====================================
Coverage 75.4% 75.4%
=====================================
Files 93 93
Lines 6211 6214 +3
=====================================
+ Hits 4684 4687 +3
Misses 1527 1527
|
Yes, including both the latest release and main should be our general rule.
Worth a try! I not yet sure if all of the direct dependencies here are compatible with Python 3.12, but we could find out. |
Let's see how the 3.12 tests are doing. We might have to re-trigger a check evaluation to get rid of the '3.11-required' checks and update the branch protection rule if we want to keep the 3.12 version. |
I find if I modify the required checks, save settings, and then refresh the PR page, then the new requirements are shown without the need to re-run any jobs. However it looks like there are several failures, so one option would be to park some notes in an issue to be addressed separately and limit this PR to adding ixmp/message_ix 3.8.0. Or try to also address them in this PR—up to you. |
59d69d4
to
1185a41
Compare
This PR now refines the pytest workflow usage of python-version. A lot of the failures originated from the incompatibility of (ixmp, message_ix) < 3.8.0 with python 3.12 and we are not requiring this compatibility anywhere, so this workflow shouldn't require it either. |
@khaeru I'm not sure how to handle the Code Quality issue (which is caused by pint missing library stubs or py.typed markers). Locally, this is the same for me and since pint doesn't support 3.12 officially yet, there might not be much we can do aside from adding it to |
|
Thanks for the explanation. If I didn't misunderstand it entirely, f7d54e3 should be exactly the change you suggested. However, this doesn't solve the problem here (and probably won't for message_data, either, since the error message (also for message_data)) reads: message_data/testing.py:7: error: Skipping analyzing "pint": module is installed, but missing library stubs or py.typed marker [import-untyped] |
f12f00a
to
64dfbde
Compare
As far as I can tell, there's now no difference between the failing Code quality run here and e.g. this successful one for ixmp except for the packages being passed to pre-commit's mypy-venv.
here vs
there. Since it doesn't seem to be missing pint, my guess is that one of the dependencies here (most likely message-ix) depends on pint in a way that just ixmp doesn't require to work. P.S.: there's also an environment variable called |
9e6ae04
to
cba07b2
Compare
Okay, so for the last CI check before the force-push, we had:
message-ix-models/.pre-commit-config.yaml Lines 11 to 12 in cba07b2
; python -m pip list at the end of the quotation marks. For some reason, this made the code quality check successful, but it's failing again now.
|
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
There it is again: adding |
@khaeru Gotta be honest: I don't understand what's going on here, but the tests are successful here and over at https://github.com/iiasa/message_data/pull/533, so it seems like we can adapt the required-successful checks to check python 3.12 and officially support 3.12 throughout the message stack :) |
* Use python 3.12 * Use message_ix and ixmp v3.8.0
32f5a18
to
8535525
Compare
The publish workflow doesn't run because https://github.com/iiasa/message-ix-models/actions/runs/8433520273 is neither starting (despite the job it's waiting for being finished) nor able to get cancelled. If it's okay with you, @khaeru, I'd change the required checks and merge this, anyway. |
Could you please adjust the required statuses in the repo settings? These have different names now with these changes to the workflow. Otherwise good to go. |
This PR removes the trigger for CI runs on pushed to main to avoid duplicate test runs. This avoids duplicate runs.
In order for this to work properly, we should make sure that
We might also want to
All of which can be done via the settings -> branches.
For now, we require the py3.11 checks for macos, ubuntu, and windows and message_ix/main to be successful. We should include checks for message_ix v3.8.0 (or only use main) and could try using py3.12, too.
How to review
PR checklist
[ ] Add or expand tests; coverage checks both ✅Just changing how often tests are run.[ ] Add, expand, or update documentation.Just changing how often tests are run.[ ] Update release notes.Just changing how often tests are run.