Repository navigation
Bare hub archives for Windows and macOS - #34
Merged
Merged
Conversation
Until now only Linux published a bare (non-installer) hub archive, so a tool building a title app for Windows or macOS (n64lle tools/build_app.sh --platform) had no hub to fetch and the manifest said "installer only". - scripts/package_bare_hub.py archives the flat hub prefix build-local writes (zip for Windows, tar.gz for macOS), never including the runner, and gates it: the archived hub is extracted to a clean directory and must run and report this release's version/commit, Direct mode, the runner lookup, a title-app mode and the Update page, and refuse --run-core without --rom. It writes the same manifest entry the Linux packager does. - build-local.sh/.ps1 take --release-version / -ReleaseVersion so the hub reports the release. - release.yml: the Windows and macOS jobs package and upload a <platform>-hub artifact; publish expects all four platforms. - hub_manifest.py: only linux-arm64 stays unavailable. - docs/RELEASES.md describes the new assets. Verified on Linux only, against a stand-in prefix. The first release is the first real run on Windows and macOS. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
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.
Why
Only Linux publishes a bare (non-installer) hub archive, so a tool that builds a title app for Windows or macOS (n64lle
tools/build_app.sh --platform) has no hub to fetch:hub-manifest.jsonsays "installer only" for those platforms. With these archives,build_app --platform allcan fetch the pinned hub for every platform with no flags.What
scripts/package_bare_hub.py: archives the flat hub prefixbuild-localwrites (zip for Windows, tar.gz for macOS), never including the runner. It extracts the archive to a clean directory and requires the archived hub to run and report this release's version/commit, Direct mode, the runner lookup, a title-app mode and the Update page, and to refuse--run-corewithout--rom(exit 2). It writes the same manifest entry as the Linux packager.build-local.sh/.ps1:--release-version/-ReleaseVersion, so the hub reports the release.release.yml: Windows and macOS jobs package and upload a<platform>-hubartifact;publishexpects all four platforms (linux-x86_64,windows-x86_64,macos-arm64,macos-x86_64).hub_manifest.py: onlylinux-arm64stays unavailable.docs/RELEASES.mddescribes the new assets.Verification, and what is not
hub_manifest.pymerging the entries, the workflow parsing as YAML.bundle_dylibs.shcopies them into an app), so the archive supports building a native.appon a Mac; it is not confirmed as a runnable portable layout.🤖 Generated with Claude Code