Title: Split Cygwin CI into non-`performance` and `performance` test jobs by EliahKagan · Pull Request #2042 · gitpython-developers/GitPython · GitHub
Open Graph Title: Split Cygwin CI into non-`performance` and `performance` test jobs by EliahKagan · Pull Request #2042 · gitpython-developers/GitPython
X Title: Split Cygwin CI into non-`performance` and `performance` test jobs by EliahKagan · Pull Request #2042 · gitpython-developers/GitPython
Description: One job is for all tests except the performance tests, while the other job is for only the performance 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.
Open Graph Description: One job is for all tests except the performance tests, while the other job is for only the performance tests. The idea is to decrease the total time it takes for all CI jobs to complete in most cas...
X Description: One job is for all tests except the performance tests, while the other job is for only the performance tests. The idea is to decrease the total time it takes for all CI jobs to complete in most cas...
Opengraph URL: https://github.com/gitpython-developers/GitPython/pull/2042
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:2c8edf8d-a665-c705-678f-b6f7e8053a14 |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | E276:25D65C:7ED6B5:B03897:6968D307 |
| html-safe-nonce | 29d3c564c2d7b9ad50fbc1305c44712c5678b4573d989c11ae7f2d136958d676 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFMjc2OjI1RDY1Qzo3RUQ2QjU6QjAzODk3OjY5NjhEMzA3IiwidmlzaXRvcl9pZCI6IjYzMTkxMDE0NjUwMDcyODA5MDQiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 9f4a645f502bdba8e866cfcd3e55286cd3cb193fde3760cc90c9dbe6885c33f8 |
| hovercard-subject-tag | pull_request:2575765517 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/gitpython-developers/GitPython/pull/2042/files |
| twitter:image | https://avatars.githubusercontent.com/u/1771172?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/1771172?s=400&v=4 |
| og:image:alt | One job is for all tests except the performance tests, while the other job is for only the performance tests. The idea is to decrease the total time it takes for all CI jobs to complete in most cas... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | af2d7af0cc84117fa10bf36808605ef68a335c9d8a804b9cdac55f8d77230b00 |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/gitpython-developers/GitPython git https://github.com/gitpython-developers/GitPython.git |
| octolytics-dimension-user_id | 503709 |
| octolytics-dimension-user_login | gitpython-developers |
| octolytics-dimension-repository_id | 1126087 |
| octolytics-dimension-repository_nwo | gitpython-developers/GitPython |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1126087 |
| octolytics-dimension-repository_network_root_nwo | gitpython-developers/GitPython |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | cc844ab6ee0198cc2e2c142dcb8a5c2a61d48743 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width