Skip to content
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

ENH: Multiple CI changes #580

Merged
merged 2 commits into from
Mar 18, 2024
Merged

ENH: Multiple CI changes #580

merged 2 commits into from
Mar 18, 2024

Conversation

cookpa
Copy link
Member

@cookpa cookpa commented Mar 16, 2024

  • Main one is a new script to quickly test python-only changes using cached wheels

  • Duplicate wheels.yml because I can't figure out how to set matrix dynamically, and build a subset of wheels on push to master

  • Set main wheels.yml to build the full matrix nightly, or upon release creation

Fixes #567

* Main one is a new script to quickly test python-only changes using cached wheels
* Duplicate wheels.yml because I can't figure out how to set matrix dynamically, and
  build a subset of wheels on push to master
* Set main wheels.yml to build the full matrix nightly, or upon release creation
@cookpa
Copy link
Member Author

cookpa commented Mar 16, 2024

New testing script: The fast test will take an hour or so the first time, because it builds and caches antspyx from source. But subsequent runs should take only about 5 minutes, as long as only the python code changes. Any changes to setup.py, requirements.txt, or anything in lib/ will trigger a cache miss. If there's no activity after seven days, the cache expires.

Changes to wheels.yml:

  • Change pypi steps to only run on release, rather than on push. This avoids duplication when a release is created after a tag is pushed
  • don't run on every PR or push, but run nightly

Reduced set of wheels just builds Python 3.9 (3.10 on ARM64). This happens on push to master, and is an intermediate level of checking. I chose python 3.9 rather than 3.12 because I figure we're probably mostly using newer Python on our own development machines, and we're probably more likely to introduce new code that isn't backwards compatible, than to use deprecated functions that aren't forward compatible.

At some point there might be compelling reason to break backwards compatibility, at which point we can update all the tests and remove the old versions from the release matrix.

Feedback welcome. I'd be happy to build the full set of wheels wheels weekly rather than nightly, if that's OK with everyone. I think most users are downloading from PyPI anyway

@cookpa cookpa mentioned this pull request Mar 16, 2024
Go all-in on fast testing and nightly wheel builds, can run this manually when needed
@cookpa cookpa merged commit ed2d0e5 into master Mar 18, 2024
1 check passed
@cookpa cookpa deleted the ci_updates branch March 18, 2024 13:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Reduce CI workflow run time
1 participant