| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
There was a problem hiding this comment.
Thanks!
Sorry, something went wrong.
Reuse the wheel/sdist/tgz artifacts already produced by the `build` job instead of rebuilding at release time. The artifact that visual regression tests validate is the one that gets uploaded. Two new jobs (`publish-pypi`, `publish-npm`) gated on `[build, visual-regression-tests]`. They run on every PR/push in dry-run mode (`twine check`, `npm publish --dry-run`) and only do real uploads when triggered by a `release: published` event, via OIDC trusted publishers — no PYPI_TOKEN, no NPM_TOKEN. The npm dry-run is skipped with a notice when the version is already published, since `npm publish --dry-run` still validates against the registry and would otherwise fail every PR that doesn't bump the version. Version-sanity check on real release: fails if the GitHub Release tag doesn't match the wheel version, or if the npm version is already on the registry. Also added `twine check` to the `build` job so PR CI catches metadata issues early, and Python 3.12 to the install matrix. Inspired by the test/release workflows in widgetti/solara and widgetti/ipyvuetify. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Document the GitHub-Release-driven flow as the primary path; keep the legacy manual process as a deprecated fallback section. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Bump python (0.12.45 → 0.12.46) and js (0.5.46 → 0.5.47) versions to exercise the trusted-publisher dry-run path on this PR. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
|
@meeseeksdev backport to master |
Sorry, something went wrong.
|
Owee, I'm MrMeeseeks, Look at me. There seem to be a conflict, please backport manually. Here are approximate instructions:
git checkout master git pull
git cherry-pick -x -m1 ab06f3e6ac7fceb009ed3b54211fc7a278f49746
git commit -am 'Backport PR #1701: ci: publish to PyPI and npm via trusted publishers'
git push YOURFORK master:auto-backport-of-pr-1701-on-master
And apply the correct labels and milestones. Congratulations — you did some good work! Hopefully your backport PR will be tested by the continuous integration and merged soon! Remember to remove the Still Needs Manual Backport label once the PR gets merged. If these instructions are inaccurate, feel free to suggest an improvement. |
Sorry, something went wrong.
* ci: publish to PyPI and npm via trusted publishers Reuse the wheel/sdist/tgz artifacts already produced by the `build` job instead of rebuilding at release time. The artifact that visual regression tests validate is the one that gets uploaded. Two new jobs (`publish-pypi`, `publish-npm`) gated on `[build, visual-regression-tests]`. They run on every PR/push in dry-run mode (`twine check`, `npm publish --dry-run`) and only do real uploads when triggered by a `release: published` event, via OIDC trusted publishers — no PYPI_TOKEN, no NPM_TOKEN. The npm dry-run is skipped with a notice when the version is already published, since `npm publish --dry-run` still validates against the registry and would otherwise fail every PR that doesn't bump the version. Version-sanity check on real release: fails if the GitHub Release tag doesn't match the wheel version, or if the npm version is already on the registry. Also added `twine check` to the `build` job so PR CI catches metadata issues early, and Python 3.12 to the install matrix. Inspired by the test/release workflows in widgetti/solara and widgetti/ipyvuetify. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * docs: update RELEASE.md for trusted-publisher release flow Document the GitHub-Release-driven flow as the primary path; keep the legacy manual process as a deprecated fallback section. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * Fix conflict * Fix dist name --------- Co-authored-by: Maarten Breddels <maartenbreddels@gmail.com> Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
| Back | FazBrowse Home | New Git URL |
Summary
Inspired by the test/release workflows in solara and ipyvuetify.
One-time setup (already done by maintainer)
Release flow after this lands
Test plan
🤖 Generated with Claude Code