Skip to content

TST: Update Python versions in CI - #12522

Merged
pllim merged 3 commits into
astropy:mainfrom
pllim:tst-update-py-matrix
Nov 23, 2021
Merged

pllim merged 3 commits into
astropy:mainfrom
pllim:tst-update-py-matrix

Conversation

@pllim

@pllim pllim commented Nov 22, 2021 •

Copy link
Copy Markdown
Member

Description

This pull request is to update Python versions in CI. Particularly, we should not have a job that is not allowed to fail to pull in devdeps.

Not sure if this needs backporting. If it does, please re-milestone accordingly.

After merge, we need to update branch protection rules.

Checklist for package maintainer(s)

This checklist is meant to remind the package maintainer(s) who will review this pull request of some common things to look for. This list is not exhaustive.

  • Do the proposed changes actually accomplish desired goals?
  • Do the proposed changes follow the Astropy coding guidelines?
  • Are tests added/updated as required? If so, do they follow the Astropy testing guidelines?
  • Are docs added/updated as required? If so, do they follow the Astropy documentation guidelines?
  • Is rebase and/or squash necessary? If so, please provide the author with appropriate instructions. Also see "When to rebase and squash commits".
  • Did the CI pass? If no, are the failures related? If you need to run daily and weekly cron jobs as part of the PR, please apply the Extra CI label.
  • Is a change log needed? If yes, did the change log check pass? If no, add the no-changelog-entry-needed label. If this is a manual backport, use the skip-changelog-checks label unless special changelog handling is necessary.
  • Is a milestone set? Milestone must be set but astropy-bot check might be missing; do not let the green checkmark fool you.
  • At the time of adding the milestone, if the milestone set requires a backport to release branch(es), apply the appropriate backport-X.Y.x label(s) before merge.

@pllim pllim added this to the v5.1 milestone Nov 22, 2021
@pllim
pllim requested review from a team and saimn November 22, 2021 21:09
@@ -87,16 +82,16 @@ jobs:
toxenv: py38-test-alldeps-numpy118-cov-clocale
toxposargs: --remote-data=astropy

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Those 2 builds seem redondant since "oldestdeps" includes Numpy 1.18 ?

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

@saimn , are you saying I should move -cov-clocale to oldest deps job?

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Hmm actually one difference is "oldestdeps" vs "alldeps-numpy118". Maybe "oldestdeps-alldeps-cov-clocale" would work ?
Also for a proper coverage I think we would need -cov on the Windows and MacOS jobs. No sure how overhead is added by the coverage measure.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

Re: coverage -- I think @astrofrog was opposed to going overboard with the coverage because the CI takes a while to run as it is.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Yeah sure. But then better if we can remove a job :).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Oh and it seems the (recently added I think) thread safety tests are quite slow :
Windows:

21.06s call     .tox/py39-test-alldeps/lib/site-packages/astropy/utils/tests/test_decorators.py::test_classproperty_lazy_threadsafe
20.95s call     .tox/py39-test-alldeps/lib/site-packages/astropy/utils/tests/test_decorators.py::test_lazyproperty_threadsafe
20.60s call     .tox/py39-test-alldeps/lib/site-packages/astropy/units/tests/test_quantity_ufuncs.py::TestUfuncHelpers::test_thread_safety

MacOS:

15.38s call     .tox/py39-test-alldeps/lib/python3.9/site-packages/astropy/utils/tests/test_decorators.py::test_lazyproperty_threadsafe
15.26s call     .tox/py39-test-alldeps/lib/python3.9/site-packages/astropy/utils/tests/test_decorators.py::test_classproperty_lazy_threadsafe
12.27s call     .tox/py39-test-alldeps/lib/python3.9/site-packages/astropy/units/tests/test_quantity_ufuncs.py::TestUfuncHelpers::test_thread_safety

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

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

threadsafety test performance should be a new issue.

They were added by @bmerry in #11224 and #11226.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Those tests would be good candidates for #12350.

@pllim
pllim force-pushed the tst-update-py-matrix branch from 1f2abc9 to c8d793f Compare November 23, 2021 15:04
@pllim

pllim commented Nov 23, 2021

Copy link
Copy Markdown
Member Author

Ugh, maybe I'll remove Circle CI from the "required" list.

@pllim

pllim commented Nov 23, 2021

Copy link
Copy Markdown
Member Author

@saimn , what about now? You can ignore the "Expected" jobs. I renamed them here, so now the branch protection rules are confused. I will update the rules after merge.

Comment thread .github/workflows/ci_workflows.yml Resolved

@saimn saimn left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM!

Co-authored-by: Simon Conseil <[email protected]>
@pllim
pllim merged commit 8950e69 into astropy:main Nov 23, 2021
@pllim
pllim deleted the tst-update-py-matrix branch November 23, 2021 17:41
@pllim

pllim commented Nov 23, 2021

Copy link
Copy Markdown
Member Author

To close the loop, I updated the CI list in branch protection rules. Please let me know if I missed anything. Thanks for the review!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants