Repository navigation
Release: render the VS Code extension's icon before packaging, and recover a missed release page - #51
Merged
Merged
Conversation
… a missed release page The 0.7.0 release published to PyPI, confirmed the digests, then stopped at 'create the GitHub release': vsce refused to package editors/vscode, whose package.json names images/icon.png. The PNG is rendered from images/icon.svg at build time and never committed (3147395); the extension's Dockerfile renders it, the release step did not. The release page for 0.7.0 was created by hand from the run's own dist artefact (27 files, each matching PyPI's digest) and a .vsix built from the tagged source. - The release step renders the icon with rsvg-convert, as the Dockerfile does. - The Dockerfile packages with vsce 3.6.0, the version the release uses (it had 4.0.0). - 'create the GitHub release' also runs on the second run of a tag once PyPI has the version (publish skipped, confirm passed), so a missed page is created then; !cancelled() keeps the skipped publish from skipping it. - Tests: every file the manifest names is committed or rendered before vsce; one vsce version; the recovery condition. All three fail on main.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The v0.7.0 release published to PyPI (all 27 files, digests confirmed) and then failed at create the GitHub release:
The specified icon 'extension/images/icon.png' wasn't found in the extension.Why:
editors/vscode/package.jsonnamesimages/icon.png, which is rendered fromimages/icon.svgat build time and never committed (3147395). The extension's Dockerfile renders it; the release step never did. The dry run stopped before this job, so it could not catch it.Already done for 0.7.0: https://github.com/Threx-code/cordon/releases/tag/v0.7.0 was created by hand, replicating the job: the run's own
distartefact (each of the 27 packages matches PyPI's sha256), both SBOMs, a.vsixbuilt from thev0.7.0source with the Dockerfile's pinned image and vsce 3.6.0 (9 extension tests pass), and notes fromdocs/releases/0.7.0.mdwith the unsigned-bundle line the job adds whenCORDON_DB_SIGNING_KEYis unset. The tag was not moved, so it still rebuilds the published wheels.The change:
rsvg-convert, as the Dockerfile doescreate the GitHub releasealso runs on a tag's second run once PyPI has the version (publish skipped, confirm passed), with!cancelled()so the skipped publish does not skip itmain: every file the manifest names is committed or rendered before vsce; one vsce version; the recovery conditionChecked: repository tests 355 passed; ruff, ruff format and mypy clean.