René's URL Explorer Experiment


Title: Test macOS on CI by EliahKagan · Pull Request #1752 · gitpython-developers/GitPython · GitHub

Open Graph Title: Test macOS on CI by EliahKagan · Pull Request #1752 · gitpython-developers/GitPython

X Title: Test macOS on CI by EliahKagan · Pull Request #1752 · gitpython-developers/GitPython

Description: This expands the CI test matrix in pythonpackage.yml so it tests on macOS in as well as Ubuntu and Windows. To make this work, macOS has to be allowed more extra_time in test_blocking_lock_file. Previously all non-Windows systems were given the same amount of small extra time, while Windows--both native Windows and Cygwin--were given more. Now macOS is given more--even more than Windows, as it occasionally needs that. Although macOS (at least on this CI) is slower than Windows (both native Windows and Cygwin) in that specific part of that test (which is timed for an assertion), it is faster than native Windows overall (and thus of course much faster than Cygwin). It looks like this would still hold up even if we did not install WSL on native Windows, albeit by a slightly smaller margin. This accords with what I usually observe for Python on GitHub Actions CI: Ubuntu tends to be faster than macOS which tends to be faster than Windows. Currently the macos-latest GitHub Actions runners are macOS 12: macos-latest is a another name for macos-12 at this time, though it will refer to a later version eventually. It seems macOS 13 (the macos-13 runners) are faster by a small amount. This seems to improve performance on that one tricky part of test_blocking_lock_file negligibly and I would not prefer it for that reason. But it also makes the whole run a little faster. That makes the macOS runners available for another CI test job sooner, and may make CI complete sooner on some PRs/branches, at least those with many pushes. So I've used macos-13, even though it means the runner should be revisited and macos-13 probably changed to macos-latest once it is macOS 13 or later. There are faster macOS runners, in terms of the virtual machine itself rather than the software on it. I did not use those, because I don't believe they are available for unpaid usage, even from public projects. I would also be somewhat disinclined to use them for GitPython, except in temporary and experimental cases. If tests are especially slow on the basic runners, I think that is a valuable source of information, especially if it happens as a regression. Although the whole runs are faster on macOS than Windows, I think there may be fewer concurrent macOS runners available per organization. If so, it might turn out that having this many test jobs is more inconvenient for macOS than Windows. Furthermore, Ubuntu and macOS are more similar to each other than either is to Windows; GitPython currently seems to do no explicit special-casing for macOS, while there is plenty for Windows; and there are a number of known Windows-specific issues for GitPython. Therefore, the case for testing all six Python versions GitPython supports on macOS is, in my opinion, much weaker than on Windows. However, the first point in the "Which versions should we test?" section of #1745 does apply: the runs are pretty fast. So I've proposed that all versions be tested, at least initially. You can let me know if you'd like me to add another commit to test on fewer. That can also be done separately and later if experience shows it's warranted.

Open Graph Description: This expands the CI test matrix in pythonpackage.yml so it tests on macOS in as well as Ubuntu and Windows. To make this work, macOS has to be allowed more extra_time in test_blocking_lock_file. Pr...

X Description: This expands the CI test matrix in pythonpackage.yml so it tests on macOS in as well as Ubuntu and Windows. To make this work, macOS has to be allowed more extra_time in test_blocking_lock_file. Pr...

Opengraph URL: https://github.com/gitpython-developers/GitPython/pull/1752

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:0e646e0f-9638-9d54-1c24-13ec61989d42
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id98BC:1B36CF:57F0DD:79B196:6968CC2D
html-safe-nonce17c415fcbef8ad0335d08f51d20a1018ca1a58a4dd481dff539e8b842b7543d4
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5OEJDOjFCMzZDRjo1N0YwREQ6NzlCMTk2OjY5NjhDQzJEIiwidmlzaXRvcl9pZCI6Ijc5NzI3Mjg4NDgyMzI1MzMwMzciLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ==
visitor-hmac3c1e5cf668db2f8f6780c747fa5d5fdc491b2c049752c33784549ca0e5f125ef
hovercard-subject-tagpull_request:1625147392
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/gitpython-developers/GitPython/pull/1752/files
twitter:imagehttps://avatars.githubusercontent.com/u/1771172?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1771172?s=400&v=4
og:image:altThis expands the CI test matrix in pythonpackage.yml so it tests on macOS in as well as Ubuntu and Windows. To make this work, macOS has to be allowed more extra_time in test_blocking_lock_file. Pr...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneaf2d7af0cc84117fa10bf36808605ef68a335c9d8a804b9cdac55f8d77230b00
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/gitpython-developers/GitPython git https://github.com/gitpython-developers/GitPython.git
octolytics-dimension-user_id503709
octolytics-dimension-user_logingitpython-developers
octolytics-dimension-repository_id1126087
octolytics-dimension-repository_nwogitpython-developers/GitPython
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1126087
octolytics-dimension-repository_network_root_nwogitpython-developers/GitPython
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasecc844ab6ee0198cc2e2c142dcb8a5c2a61d48743
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/gitpython-developers/GitPython/pull/1752/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgitpython-developers%2FGitPython%2Fpull%2F1752%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fgitpython-developers%2FGitPython%2Fpull%2F1752%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=gitpython-developers%2FGitPython
Reloadhttps://github.com/gitpython-developers/GitPython/pull/1752/files
Reloadhttps://github.com/gitpython-developers/GitPython/pull/1752/files
Reloadhttps://github.com/gitpython-developers/GitPython/pull/1752/files
gitpython-developers https://github.com/gitpython-developers
GitPythonhttps://github.com/gitpython-developers/GitPython
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1752/files
Notifications https://github.com/login?return_to=%2Fgitpython-developers%2FGitPython
Fork 964 https://github.com/login?return_to=%2Fgitpython-developers%2FGitPython
Star 5k https://github.com/login?return_to=%2Fgitpython-developers%2FGitPython
Code https://github.com/gitpython-developers/GitPython
Issues 169 https://github.com/gitpython-developers/GitPython/issues
Pull requests 8 https://github.com/gitpython-developers/GitPython/pulls
Discussions https://github.com/gitpython-developers/GitPython/discussions
Actions https://github.com/gitpython-developers/GitPython/actions
Security Uh oh! There was an error while loading. Please reload this page. https://github.com/gitpython-developers/GitPython/security
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1752/files
Insights https://github.com/gitpython-developers/GitPython/pulse
Code https://github.com/gitpython-developers/GitPython
Issues https://github.com/gitpython-developers/GitPython/issues
Pull requests https://github.com/gitpython-developers/GitPython/pulls
Discussions https://github.com/gitpython-developers/GitPython/discussions
Actions https://github.com/gitpython-developers/GitPython/actions
Security https://github.com/gitpython-developers/GitPython/security
Insights https://github.com/gitpython-developers/GitPython/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fgitpython-developers%2FGitPython%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fgitpython-developers%2FGitPython%2Fissues%2Fnew%2Fchoose
Byronhttps://github.com/Byron
gitpython-developers:mainhttps://github.com/gitpython-developers/GitPython/tree/main
EliahKagan:ci-macoshttps://github.com/EliahKagan/GitPython/tree/ci-macos
Conversation 2 https://github.com/gitpython-developers/GitPython/pull/1752
Commits 5 https://github.com/gitpython-developers/GitPython/pull/1752/commits
Checks 0 https://github.com/gitpython-developers/GitPython/pull/1752/checks
Files changed 2 https://github.com/gitpython-developers/GitPython/pull/1752/files
Test macOS on CI https://github.com/gitpython-developers/GitPython/pull/1752/files#top
Show all changes 5 commits https://github.com/gitpython-developers/GitPython/pull/1752/files
2813e94 Add macOS test jobs to CI matrix EliahKagan Dec 1, 2023 https://github.com/gitpython-developers/GitPython/pull/1752/commits/2813e94ca80c8e41caaa58ff90c063ca0a26a80c
789baa1 Use macOS 13 on CI EliahKagan Dec 1, 2023 https://github.com/gitpython-developers/GitPython/pull/1752/commits/789baa1c205411545b1105035e773e795ab30302
f6f335f Temporarily break test_blocking_lock_file on Windows EliahKagan Dec 1, 2023 https://github.com/gitpython-developers/GitPython/pull/1752/commits/f6f335ffcd55af5367692d338d78cf0465c34514
c16e4f3 Restore longer extra time for Windows, and add for macOS EliahKagan Dec 1, 2023 https://github.com/gitpython-developers/GitPython/pull/1752/commits/c16e4f371b1ee193af92c4ef685315ca1d41e6e9
d15f891 macOS needs even more extra time in test_blocking_lock_file EliahKagan Dec 1, 2023 https://github.com/gitpython-developers/GitPython/pull/1752/commits/d15f891c3127e6b855656b31e04bb1c089f8d54d
Clear filters https://github.com/gitpython-developers/GitPython/pull/1752/files
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1752/files
Please reload this pagehttps://github.com/gitpython-developers/GitPython/pull/1752/files
pythonpackage.yml https://github.com/gitpython-developers/GitPython/pull/1752/files#diff-ee68bef8369ed7bc5460a288e72d62152784762ef66851e07bf134c4075a08f0
test_util.py https://github.com/gitpython-developers/GitPython/pull/1752/files#diff-62b93f19eeb2c5ff6e26eaccf3f63ee6641e87f3a6ccfc2ffb0dec86925ae245
.github/workflows/pythonpackage.ymlhttps://github.com/gitpython-developers/GitPython/pull/1752/files#diff-ee68bef8369ed7bc5460a288e72d62152784762ef66851e07bf134c4075a08f0
View file https://github.com/EliahKagan/GitPython/blob/d15f891c3127e6b855656b31e04bb1c089f8d54d/.github/workflows/pythonpackage.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1752/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1752/files#diff-ee68bef8369ed7bc5460a288e72d62152784762ef66851e07bf134c4075a08f0
https://github.com/gitpython-developers/GitPython/pull/1752/files#diff-ee68bef8369ed7bc5460a288e72d62152784762ef66851e07bf134c4075a08f0
test/test_util.pyhttps://github.com/gitpython-developers/GitPython/pull/1752/files#diff-62b93f19eeb2c5ff6e26eaccf3f63ee6641e87f3a6ccfc2ffb0dec86925ae245
View file https://github.com/EliahKagan/GitPython/blob/d15f891c3127e6b855656b31e04bb1c089f8d54d/test/test_util.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/gitpython-developers/GitPython/pull/1752/{{ revealButtonHref }}
https://github.com/gitpython-developers/GitPython/pull/1752/files#diff-62b93f19eeb2c5ff6e26eaccf3f63ee6641e87f3a6ccfc2ffb0dec86925ae245
https://github.com/gitpython-developers/GitPython/pull/1752/files#diff-62b93f19eeb2c5ff6e26eaccf3f63ee6641e87f3a6ccfc2ffb0dec86925ae245
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.