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

Test on all supported Python versions #3820

Closed
csadorf opened this issue Mar 2, 2020 · 4 comments · Fixed by #3771
Closed

Test on all supported Python versions #3820

csadorf opened this issue Mar 2, 2020 · 4 comments · Fixed by #3771

Comments

@csadorf
Copy link
Contributor

csadorf commented Mar 2, 2020

While reviewing our CI configuration I noticed that we are only testing on the oldest and newest supported Python versions:

python-version: [3.5, 3.8]

Am I reinterpreting this correctly? And if yes, is there a specific reason for this besides saving CI time?

@csadorf csadorf assigned CasperWA and unassigned CasperWA Mar 2, 2020
@sphuber
Copy link
Contributor

sphuber commented Mar 2, 2020

The only reason is indeed to save CI time. When we were still on Travis running on all python versions was definitely not an option. Now that we migrated to GitHub actions the throughput is a lot higher but if we start to run a lot more builds this may become insufficient. Since for each python version we need to run two builds, one for each ORM backend, we would need to add another 4 jobs. And each of those run more than 10 minutes. I was not sure whether that added cost is worth it just to have slightly more coverage. I feel testing the lower and upper bound should give a really good idea that the middle versions should also work.

@csadorf
Copy link
Contributor Author

csadorf commented Mar 3, 2020

@sphuber Thank's for clarifying. I'd like to recommend that we enable a test on all Python versions at the very least for release branches. The reason is that there a backwards incompatibilities between different Python minor versions, so checking the bounds is insufficient to guarantee that we actually support all versions. And furthermore, it would also be important to check whether our dependencies are available for all minor versions and function as expected.

@greschd
Copy link
Member

greschd commented Mar 3, 2020

Does GitHub actions support cron jobs? If so, we could add a nightly build (in addition to release branches) that checks all versions.

@csadorf
Copy link
Contributor Author

csadorf commented Mar 3, 2020

Does GitHub actions support cron jobs? If so, we could add a nightly build (in addition to release branches) that checks all versions.

Looks like you can: https://help.github.com/en/actions/reference/events-that-trigger-workflows#scheduled-events-schedule

@csadorf csadorf linked a pull request Mar 6, 2020 that will close this issue
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 a pull request may close this issue.

4 participants