Repository navigation
Ship the Redrob Launcher release manifest with every release - #94
Merged
Merged
Conversation
Every GitHub Release now carries `redrob-launcher.json`, exactly
`{ "schema": 1, "sharedAccount": true }`, so Redrob Launcher learns from
the release itself that this build reads the launcher's shared account
file (#88) and can show "Uses this sign-in" without a launcher release.
- `launcher-assets.ts` writes the manifest beside the launcher installers
and, at the end of its run, verifies the release directory: every
launcher asset present, manifest present, valid JSON, schema 1,
sharedAccount true. A directory without the file fails the step.
- The publish job's Checksums step lists the manifest in SHA256SUMS (the
launcher's quota-free path reads the sums file for asset names) and
fails if it is absent from the list.
- `launcher-assets.test.ts` pins the bytes, parses them, and drives the
verifier through missing / wrong-schema / false-flag / non-JSON cases.
No release, tag or version change.
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.
Summary
Every GitHub Release now carries
redrob-launcher.json, exactly{ "schema": 1, "sharedAccount": true }, so Redrob Launcher learns from the release itself that this build reads the launcher's shared account file (#88) and can show Uses this sign-in without a launcher release. Contract: the launcher'sdocs/release-manifest.md.packages/redrob/script/launcher-assets.tswrites the manifest beside the launcher installers in the publish job's Add the Redrob Launcher assets step, and at the end of its run verifies the release directory: every launcher asset present, manifest present, valid JSON, schema 1, sharedAccount true. A release directory without the file fails the step..github/workflows/release.ymlChecksums step lists the manifest inSHA256SUMS(the launcher's quota-free path reads the sums file for asset names) and fails if it is not listed.packages/redrob/test/installation/launcher-assets.test.tspins the bytes, parses them (schema 1, sharedAccount true) and drivesverifyReleaseDirectorythrough missing / wrong-schema / false-flag / non-JSON / missing-installer cases.release-github-action.ymlis untouched: it only tags the GitHub Action (github-v*) and publishes no release assets.Tested
bun test test/installation/launcher-assets.test.ts: 7 pass, 0 fail.launcher-assets.ts --version 0.5.2 ...prints the six installers plusredrob-launcher.json; the Checksums shell snippet lists it inSHA256SUMS; removing the file makes the verifier reportmissing redrob-launcher.json.No release, tag or version change.