René's URL Explorer Experiment


Title: CI: Add GHA workflow to upload nightly wheels by matthewfeickert · Pull Request #22733 · matplotlib/matplotlib · GitHub

Open Graph Title: CI: Add GHA workflow to upload nightly wheels by matthewfeickert · Pull Request #22733 · matplotlib/matplotlib

X Title: CI: Add GHA workflow to upload nightly wheels by matthewfeickert · Pull Request #22733 · matplotlib/matplotlib

Description: PR Summary Resolves #21635 Resolves #9994 Closes #21637 (supersedes) This PR adds a nightlies.yml GitHub Action workflow that uses the gh CLI API to download the 'wheels' artifact from the latest completed build of the cibuildwheel workflow from the 'main' branch (idea taken from actions/download-artifact#3 (comment)). gh run example: $ gh run --repo matplotlib/matplotlib list --branch main --workflow cibuildwheel.yml STATUS NAME WORKFLOW BRANCH EVENT ID ELAPSED AGE ✓ Merge pull request #22719 from oscargus/incorrectdeprecationwarning Build CI wheels main push 2067808346 1h11m7s 5h ✓ Merge pull request #22138 from stanleyjs/subfigure-clear Build CI wheels main push 2067068506 1h11m8s 7h ✓ Merge pull request #22698 from oscargus/fixdoclinks Build CI wheels main push 2063032633 1h24m7s 21h ✓ Merge pull request #22711 from andrew-fennell/RangeSlider-bugfix Build CI wheels main push 2062983684 1h25m25s 21h ✓ Merge pull request #22263 from jklymak/doc-version-switcher-condense Build CI wheels main push 2061330182 1h14m20s 1d ✓ Merge pull request #22361 from anntzer/datetex Build CI wheels main push 2061179011 1h18m39s 1d ✓ Merge pull request #22721 from anntzer/style Build CI wheels main push 2059315555 1h3m24s 1d X PendingDeprecationWarning: Build CI wheels main pull_request 2059201532 0s 1d X change test_aspect_equal_error() into test_aspect_equal() Build CI wheels main pull_request 2057642015 0s 1d ✓ Merge pull request #22356 from timhoffm/triplot Build CI wheels main push 2057490803 1h2m25s 1d ✓ Merge pull request #22360 from anntzer/multilinetex Build CI wheels main push 2057057079 1h3m4s 1d ✓ Merge pull request #22418 from anntzer/ov Build CI wheels main push 2057027071 1h0m11s 1d ✓ Merge pull request #22722 from anntzer/cmf Build CI wheels main push 2056818352 1h8m22s 1d ✓ Merge pull request #22697 from oscargus/removecleanuptestcase Build CI wheels main push 2056286785 1h3m30s 1d ✓ Merge pull request #22716 from jklymak/doc-set-canonical Build CI wheels main push 2056271472 1h1m49s 1d ✓ Merge pull request #22556 from oscargus/parse_math_rcparams Build CI wheels main push 2056265621 1h15m47s 2d - Locale font Build CI wheels main pull_request 2051994021 4s 2d - Locale font Build CI wheels main pull_request 2051993409 3s 2d ✓ Merge pull request #22163 from daniilS/tk_toolbar_colours Build CI wheels main push 2044974231 1h13m49s 4d - Provide axis('equal') for Axes3D Build CI wheels main pull_request 2040650565 3s 5d For details on a run, try: gh run view This is done by getting the fields event, status, and databaseId from the output of gh run list as JSON and then using jq to filter for 'push' events (which correspond to merged PRs to the 'main' branch) that have completed runs. This is then sorted by the databaseIds in descending order to get the latest completed build run number. filter and download example: $ gh run --repo matplotlib/matplotlib list --branch main --workflow cibuildwheel.yml --json event,status,databaseId [ { "databaseId": 2067808346, "event": "push", "status": "completed" }, { "databaseId": 2067068506, "event": "push", "status": "completed" }, ..., { "databaseId": 2044974231, "event": "push", "status": "completed" }, { "databaseId": 2040650565, "event": "pull_request", "status": "completed" } ] $ cat runs.json | jq -c '[ .[] | select(.event == "push") | select(.status == "completed") ] | sort_by(.databaseId) | reverse' [{"databaseId":2067808346,"event":"push","status":"completed"},{"databaseId":2067068506,"event":"push","status":"completed"},{"databaseId":2063032633,"event":"push","status":"completed"},{"databaseId":2062983684,"event":"push","status":"completed"},{"databaseId":2061330182,"event":"push","status":"completed"},{"databaseId":2061179011,"event":"push","status":"completed"},{"databaseId":2059315555,"event":"push","status":"completed"},{"databaseId":2057490803,"event":"push","status":"completed"},{"databaseId":2057057079,"event":"push","status":"completed"},{"databaseId":2057027071,"event":"push","status":"completed"},{"databaseId":2056818352,"event":"push","status":"completed"},{"databaseId":2056286785,"event":"push","status":"completed"},{"databaseId":2056271472,"event":"push","status":"completed"},{"databaseId":2056265621,"event":"push","status":"completed"},{"databaseId":2044974231,"event":"push","status":"completed"}] $ cat runs.json | jq -c '[ .[] | select(.event == "push") | select(.status == "completed") ] | sort_by(.databaseId) | reverse | .[0].databaseId' 2067808346 $ gh run --repo matplotlib/matplotlib download 2067808346 --name wheels $ ls *.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-macosx_10_12_universal2.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-macosx_10_12_x86_64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-macosx_11_0_arm64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-win32.whl matplotlib-3.6.0.dev1935+gda9533d507-cp310-cp310-win_amd64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-macosx_10_12_universal2.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-macosx_10_12_x86_64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-macosx_11_0_arm64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-win32.whl matplotlib-3.6.0.dev1935+gda9533d507-cp38-cp38-win_amd64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-macosx_10_12_universal2.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-macosx_10_12_x86_64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-macosx_11_0_arm64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-win32.whl matplotlib-3.6.0.dev1935+gda9533d507-cp39-cp39-win_amd64.whl The subset of all the downloaded wheels that are x86_64.manylinux* are then uploaded to the scipy-wheels-nightly organization using the anaconda-client CLI API. N.B.: anaconda-client must currently be installed from GitHub as there have been no uploads to PyPI since 2016. c.f. anaconda/anaconda-client#540 The workflow runs nightly as a CRON job ('schedule' in GHA parlance) at 01:23 UTC (the time has no meaning (it is just 0123) beyond making sure it misses the wall of CRON jobs that slams CI providers at 00:00 and 00:01) and on demand through workflow dispatch. The status of the build on my fork is currently summarized in #21635 (comment). PR Checklist Tests and Styling Has pytest style unit tests (and pytest passes). Is Flake 8 compliant (install flake8-docstrings and run flake8 --docstring-convention=all). (No Python code was changed, so checking these off as main is passing) Documentation New features are documented, with examples if plot related. (N/A as no new features) New features have an entry in doc/users/next_whats_new/ (follow instructions in README.rst there). (N/A as no new features) API changes documented in doc/api/next_api_changes/ (follow instructions in README.rst there). (N/A as no API changes) Documentation is sphinx and numpydoc compliant (the docs should build without error).

Open Graph Description: PR Summary Resolves #21635 Resolves #9994 Closes #21637 (supersedes) This PR adds a nightlies.yml GitHub Action workflow that uses the gh CLI API to download the 'wheels' artifact from th...

X Description: PR Summary Resolves #21635 Resolves #9994 Closes #21637 (supersedes) This PR adds a nightlies.yml GitHub Action workflow that uses the gh CLI API to download the 'wheels' artifact...

Opengraph URL: https://github.com/matplotlib/matplotlib/pull/22733

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:788a9ab3-5b93-a982-85cf-6483259888ae
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-idCCF0:231261:66C63:850B4:6A5170D8
html-safe-noncefa19cab2960f575478e27a33c974e54c6e5a2e7e9949039ee9b167605572511e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDQ0YwOjIzMTI2MTo2NkM2Mzo4NTBCNDo2QTUxNzBEOCIsInZpc2l0b3JfaWQiOiIyOTAwNTc3NzE5NTY4OTIwNzkyIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac942cb4e88bc7e10f6e09f085cf3991a9594c25d3b56d9cb24ce0200ef79c1a84
hovercard-subject-tagpull_request:894714244
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/matplotlib/matplotlib/pull/22733/files
twitter:imagehttps://avatars.githubusercontent.com/u/5142394?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/5142394?s=400&v=4
og:image:altPR Summary Resolves #21635 Resolves #9994 Closes #21637 (supersedes) This PR adds a nightlies.yml GitHub Action workflow that uses the gh CLI API to download the 'wheels' artifact from th...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git
octolytics-dimension-user_id215947
octolytics-dimension-user_loginmatplotlib
octolytics-dimension-repository_id1385122
octolytics-dimension-repository_nwomatplotlib/matplotlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1385122
octolytics-dimension-repository_network_root_nwomatplotlib/matplotlib
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
releaseb19955a9dd40fd99462443f7911b522d7216776a
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/pull/22733/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F22733%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
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
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
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/enterprise/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%2Fmatplotlib%2Fmatplotlib%2Fpull%2F22733%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=matplotlib%2Fmatplotlib
Reloadhttps://github.com/matplotlib/matplotlib/pull/22733/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/22733/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/22733/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
Notifications https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Fork 8.4k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Star 23k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Code https://github.com/matplotlib/matplotlib
Issues 1.1k https://github.com/matplotlib/matplotlib/issues
Pull requests 409 https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality 0 https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Code https://github.com/matplotlib/matplotlib
Issues https://github.com/matplotlib/matplotlib/issues
Pull requests https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
QuLogichttps://github.com/QuLogic
matplotlib:mainhttps://github.com/matplotlib/matplotlib/tree/main
matthewfeickert:ci/upload-nightly-wheelshttps://github.com/matthewfeickert/matplotlib/tree/ci/upload-nightly-wheels
Conversation 45 https://github.com/matplotlib/matplotlib/pull/22733
Commits 2 https://github.com/matplotlib/matplotlib/pull/22733/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/22733/checks
Files changed https://github.com/matplotlib/matplotlib/pull/22733/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
CI: Add GHA workflow to upload nightly wheels https://github.com/matplotlib/matplotlib/pull/22733/files#top
Show all changes 2 commits https://github.com/matplotlib/matplotlib/pull/22733/files
6d3d6fd CI: Add nightly upload of wheels to Anaconda Cloud matthewfeickert Mar 30, 2022 https://github.com/matplotlib/matplotlib/pull/22733/commits/6d3d6fdc71de72ff659c586ee8e363e41d0f3ef9
7dda3c6 DOC: Add instructions on installing nightly build wheels matthewfeickert Mar 30, 2022 https://github.com/matplotlib/matplotlib/pull/22733/commits/7dda3c6451dc88cecf2a434bc01710054c55bb92
Clear filters https://github.com/matplotlib/matplotlib/pull/22733/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
nightlies.yml https://github.com/matplotlib/matplotlib/pull/22733/files#diff-80505581d0825c22f85d855bab0d91a21e6117e407ef8a910c6dc41ced95f1a5
index.rst https://github.com/matplotlib/matplotlib/pull/22733/files#diff-4839ffa1c15ddcde03ba4bcd196848b9d030d46154adfc42aa22b15b1faf792e
.github/workflows/nightlies.ymlhttps://github.com/matplotlib/matplotlib/pull/22733/files#diff-80505581d0825c22f85d855bab0d91a21e6117e407ef8a910c6dc41ced95f1a5
View file https://github.com/matthewfeickert/matplotlib/blob/7dda3c6451dc88cecf2a434bc01710054c55bb92/.github/workflows/nightlies.yml
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/22733/{{ revealButtonHref }}
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
matthewfeickerthttps://github.com/matthewfeickert
Mar 30, 2022https://github.com/matplotlib/matplotlib/pull/22733/files#r838798345
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
#21637 (comment)https://github.com/matplotlib/matplotlib/pull/21637#issuecomment-971947384
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
tacaswellhttps://github.com/tacaswell
Mar 31, 2022https://github.com/matplotlib/matplotlib/pull/22733/files#r839086328
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
matthewfeickerthttps://github.com/matthewfeickert
Mar 31, 2022https://github.com/matplotlib/matplotlib/pull/22733/files#r839096083
Learn morehttps://docs.github.com/articles/managing-disruptive-comments/#hiding-a-comment
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/22733/files
doc/users/installing/index.rsthttps://github.com/matplotlib/matplotlib/pull/22733/files#diff-4839ffa1c15ddcde03ba4bcd196848b9d030d46154adfc42aa22b15b1faf792e
View file https://github.com/matthewfeickert/matplotlib/blob/7dda3c6451dc88cecf2a434bc01710054c55bb92/doc/users/installing/index.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/22733/{{ revealButtonHref }}
https://github.com/matplotlib/matplotlib/pull/22733/files#diff-4839ffa1c15ddcde03ba4bcd196848b9d030d46154adfc42aa22b15b1faf792e
https://github.com/matplotlib/matplotlib/pull/22733/files#diff-4839ffa1c15ddcde03ba4bcd196848b9d030d46154adfc42aa22b15b1faf792e
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.