Skip to content

Ship the Redrob Launcher release manifest with every release - #94

Merged
its-janghoon merged 1 commit into
developfrom
feature/launcher-release-manifest
Oct 13, 2026
Merged

its-janghoon merged 1 commit into
developfrom
feature/launcher-release-manifest

Conversation

@its-janghoon

Copy link
Copy Markdown
Member

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's docs/release-manifest.md.

  • packages/redrob/script/launcher-assets.ts writes 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.yml 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 not listed.
  • packages/redrob/test/installation/launcher-assets.test.ts pins the bytes, parses them (schema 1, sharedAccount true) and drives verifyReleaseDirectory through missing / wrong-schema / false-flag / non-JSON / missing-installer cases.

release-github-action.yml is 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.
  • Rehearsal of the publish steps against fixture inputs: launcher-assets.ts --version 0.5.2 ... prints the six installers plus redrob-launcher.json; the Checksums shell snippet lists it in SHA256SUMS; removing the file makes the verifier report missing redrob-launcher.json.

No release, tag or version change.

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.
@its-janghoon
its-janghoon merged commit dad942e into develop Oct 13, 2026
16 checks passed
@its-janghoon
its-janghoon deleted the feature/launcher-release-manifest branch October 13, 2026 07:08
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant