← 返回首页
Don't cancel other jobs from the 3.12 job failing by EliahKagan · Pull Request #93 · gitpython-developers/gitdb · GitHub
Skip to content

Navigation Menu

Toggle navigation
Sign in
Appearance settings
Search or jump to...

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Saved searches

Use saved searches to filter your results more quickly

Appearance settings
Resetting focus

Don't cancel other jobs from the 3.12 job failing#93

Merged
Byron merged 1 commit into
gitpython-developers:masterfrom
EliahKagan:ci-continue
Sep 11, 2023
Merged

Don't cancel other jobs from the 3.12 job failing#93
Byron merged 1 commit into
gitpython-developers:masterfrom
EliahKagan:ci-continue

Conversation

Copy link
Copy Markdown
Member

EliahKagan commented Sep 11, 2023
edited
Loading

Because 3.12 is still a release candidate and if tests fail for it then one would always want to know if/how other versions also fail.

Note that a failure of the 3.12 job will still be treated as a failed check and will still cause the workflow to be considered to have failed, which we probably want. Setting continue-on-error for the job just overrides the default matrix fail-fast behavior, so the 3.12 job won't cause other jobs from the matrix to be cancelled if it fails. (Other jobs will still cause cancellation.)

I used a technique based on the one in the GitHub Actions documentation, but modified so all versions can be listed in one place and so the automatically generated job names remain short, as they were before.

This also allows actions/setup-python to install a prerelease for 3.12 only, and no longer for other releases. (This is less important, because only under very strange circumstances would only an old prerelease of a stable release be available to the CI runner. But treating 3.12 specially, as above, allows this to be done too, with no increase in complexity.)

This may or may not be considered worthwhile, given that it should be undone sometime not long after the stable 3.12.0 comes out. However, I think the allow-preleases override to true should be undone at that time, so it seems to me that the burden is much the same either way (and the stakes very low, either way, if it is left in place too long).

Because 3.12 is still a release candidate and if tests fail for it then one would always want to know if/how other versions also fail. This also allows actions/setup-python to install a prerelease for 3.12 only, not for other releases.
EliahKagan marked this pull request as ready for review September 11, 2023 08:56
Copy link
Copy Markdown
Member

Byron left a comment

Choose a reason for hiding this comment

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

Choose a reason Spam Abuse Off Topic Outdated Duplicate Resolved Low Quality Hide comment

Thanks a lot! I think this is similarly implemented in GitPython (soon) and it's a neat way of achieving this.

Byron merged commit 2916865 into gitpython-developers:master Sep 11, 2023
EliahKagan deleted the ci-continue branch September 11, 2023 09:20
Copy link
Copy Markdown
Member Author

EliahKagan commented Sep 11, 2023
edited
Loading

Thanks! Yes, I used the same pattern in gitpython-developers/GitPython#1654, though (in my mind) not entirely for the same purpose.

Here in gitdb's workflow file, fail-fast is not explicitly set, so it has its default value of true, and the main purpose of experimental here is to weaken that appropriately for 3.12 because it is a prerelease, by setting continue-on-error to true for it. While I was at it, I also used it to only permit setup-python to install a prerelease for 3.12.

In contrast, GitPython's roughly corresponding workflow file explicitly sets fail-fast to false, so there is no need to set continue-on-error, which I didn't do. Instead, I introduced experimental there just for the purpose of limiting setup-python to installing a prerelease for 3.12.

EliahKagan added a commit to EliahKagan/smmap that referenced this pull request Sep 17, 2023
This updates smmap's CI configuration in ways that are in line with recent updates to gitdb's. In most cases there is no difference in the changes, and the reason for the updates is more to avoid confusing differences than from the value of the changes themselves. In one case, there is a major difference (fetch-depth). - gitpython-developers/gitdb#89 (same) - gitpython-developers/gitdb#90 (same) It's just the project, not dependencies, but otherwise the same. - gitpython-developers/gitdb#92 (opposite) This is the major difference. We don't need more than the tip of the branch in these tests. Keeping the default fetch-depth of 1 by not setting it explicitly avoids giving the impression that the tests here are doing something they are not (and also serves as a speed optimization). - gitpython-developers/gitdb#93 (same)
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Footer

© 2026 GitHub, Inc.