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

Limit concurrency on GitHub Actions #2226

Merged
merged 2 commits into from Mar 15, 2022
Merged

Conversation

messense
Copy link
Member

@davidhewitt
Copy link
Member

Nice, I had some other ideas too:

  • we could test 32-bit windows only with the latest Python version
  • we could split the pipeline into a "fast" set of checks, maybe run only for latest Python version, and then follow up with the full test suite

@messense
Copy link
Member Author

we could split the pipeline into a "fast" set of checks, maybe run only for latest Python version, and then follow up with the full test suite

That might slow down the overall run time, I think we should experiment with it in a separate PR.

@adamreichold
Copy link
Member

adamreichold commented Mar 15, 2022

we could split the pipeline into a "fast" set of checks, maybe run only for latest Python version, and then follow up with the full test suite

That might slow down the overall run time, I think we should experiment with it in a separate PR.

Having done this for rust-numpy, I would like to add that this is not just about the time to results, but also about not wasting computation on PR that have more fundamental issues, and thereby saving energy. I also think this is bearable if the "fast" part of the CI is sufficiently fast, i.e. for rust-numpy the checks that run before the full test matrix is started usually complete in a minute or so.

So also from the point of view of environmental impact I would also argue for this, but of course this does not mean this cannot happen in a separate PR.

@davidhewitt
Copy link
Member

Agreed, this PR is already great, we can improve the pipeline in another PR. Just throwing out ideas 😊

@messense messense enabled auto-merge March 15, 2022 15:17
@messense messense merged commit d0c124d into PyO3:main Mar 15, 2022
@messense messense deleted the actions-concurrency branch March 15, 2022 15:27
@messense
Copy link
Member Author

messense commented Mar 15, 2022

fail-fast: false # If one platform fails, allow the rest to keep testing.

I think this fail-fast: false is a big source of waste. I'd suggest that if we want to debug CI workflow sometimes, we can add a label to PR, for example CI-no-fail-fast to signal it: fail-fast: ${{ !contains( github.event.pull_request.labels.*.name, 'CI-no-fail-fast') }}.

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.

None yet

3 participants