Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

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

Provide feedback

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

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Split Cygwin CI into non-performance andperformance test jobs#2042

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged

Conversation

EliahKagan
Copy link
Member

@EliahKaganEliahKagan commentedJun 7, 2025
edited
Loading

One job is for all tests except theperformance tests, while the other job is for only theperformance tests.

The idea is to decrease the total time it takes for all CI jobs to complete in most cases, by splitting the long-running (currently usually about 13 minute) Cygwin job into two less-long jobs.

This seems to work well. The performance tests take longer than all the other tests combined. Even with the other steps--mainly setting up Cygwin--taking about 2.5 minutes, this still completes significantly faster than before by allowing the jobs to run in parallel.

A secondary advantage is that incomplete results of tests that are more often of interest can be seen sooner. (I say that's secondary because it could alternatively have been achieved by using a plugin that allow the order of the tests to be specified, and running the performance tests last.)

I'll wait for them to complete here in this PR, and I'll look at the timings, to make sure that wasn't a fluke (also because I would not want to merge a PR whose CI isn't passing, without good reason).


Edit: Yes, the longer of the jobs still completes 4 minutes sooner than the combined test would have completed. (Extrapolating this to future runs presumes that there will not usually be a huge queue of jobs for a Windows runner, or that there will not be a huge queue in the situations where one most wants jobs to complete faster. I think this is a reasonable assumption, but definitely one that should be open to challenge or revision.) All non-xfail tests continue to pass and the output remains readable.

However, before merging this, I'm going to experiment with showing the arguments in the step name, which I suspect may make the jobs easier to distinguish from each other when glancing at their steps.

One job is for all tests except the `performance` tests, while theother job is for only the `performance` tests.The idea is to decrease the total time it takes for all CI jobs tocomplete in most cases, by splitting the long-running (currentlyusually about 13 minute) Cygwin job into two less-long jobs.
In the "Test with pytest" step of the Cygwin test jobs.This is to distinguish the newly split jobs from each other moreclearly when glancing at their steps for a run.
This removes an unnecessary trailing slash that I had not usedconsistently anyway.
@EliahKaganEliahKagan marked this pull request as ready for reviewJune 7, 2025 18:31
@EliahKaganEliahKagan merged commite337e99 intogitpython-developers:mainJun 7, 2025
27 checks passed
@EliahKaganEliahKagan deleted the cygwin-ci-split branchJune 7, 2025 18:31
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Milestone
No milestone
Development

Successfully merging this pull request may close these issues.

1 participant
@EliahKagan

[8]ページ先頭

©2009-2025 Movatter.jp