Repository navigation
feat: publish standalone CLI binaries with checksums on GitHub releases - #3374
Draft
RomanHotsiy wants to merge 1 commit into
Draft
RomanHotsiy wants to merge 1 commit into
RomanHotsiy wants to merge 1 commit into
Conversation
🦋 Changeset detectedLatest commit: c2cb9cd The changes in this PR will be included in the next version bump. This PR includes changesets to release 6 packages
Not sure what this means? Click here to learn what changesets are. Click here if you're a maintainer who wants to add another changeset to this PR |
Contributor
📝 Recheck Summary
📋 Findings by rule🟡 technical-english/sentence-length: 0 errors, 2 warnings, 0 info Errors fail the full-tree check. Warnings and info are a worklist and do not block the PR. 📖 Readability of changed filesAutomated Readability Index (ARI): a U.S. grade level. Lower is easier to read.
|
Contributor
Coverage Report
File Coverage
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Contributor
Performance Benchmark (Lower is Faster)
|
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.
What/Why/How?
Redocly CLI needs Node.js and npm, and
preview,eject, andtranslatespawnnpx, so it can't run on a machine without them.This PR attaches standalone binaries for Linux, macOS, and Windows, plus a
SHA256SUMSfile, to each@redocly/cliGitHub release.In a binary, those three commands run their product package with
bun xon the runtime built into the binary.Binariesworkflow can upload them again by hand for a given version.redocly, because under Bun it would saybun. Four e2e snapshots change fromindex.jsfor this reason.Measured on macOS arm64 with Bun 1.4.4 and Node 26, median of ten runs (preview: five rounds, same project and framework install):
--splitting(this PR)--versionlint resources/cafe.yamlbuild-docs resources/cafe.yamlpreviewready (first HTTP 200)previewhot reloadbuild-docsandpreviewwere not measured again on the split build.previewruns the framework in a childbun xprocess, so how the CLI is bundled doesn't affect it.--bytecodecut--versionto 47 ms but grew the binary to 149 MB, so this PR builds with--splittingonly.The first
previewin a binary installs the framework with Bun's installer: about 20 s cold and 2 s cached on the earlier prototype.Reference
Testing
Locally, unit, E2E, and a new binary smoke test on macOS arm64 and in an Alpine arm64 container. The
Binariesworkflow runs the smoke test for all eight binaries on each pull request.Screenshots (optional)
Check yourself
Security