SSD install UX: git-archive prefix fix + one-click START-HERE launcher#89
Draft
tonylturner wants to merge 2 commits into
Draft
SSD install UX: git-archive prefix fix + one-click START-HERE launcher#89tonylturner wants to merge 2 commits into
tonylturner wants to merge 2 commits into
Conversation
…self-contains
git archive HEAD produced a flat tarball (no top-level dir), so the
auto-generated SSD README told students:
tar xzf rangerdanger.tgz -C ~ # scatters ~80 repo files into $HOME
cd ~/rangerdanger # ...dir never created -> fails
i.e. the handout itself caused the "ran in the wrong directory" reports.
Add --prefix=rangerdanger/ to all four git archive calls (stage-ssd
+ stage-ssd-delta, sh + ps1) so `tar xzf -C ~` creates ~/rangerdanger/.
Update the extract instructions that assumed flat extraction (the delta
DELTA-READMEs and workshop-ssd.md Pattern-1 / delta-apply blocks) to
extract over ~/rangerdanger in place, which the prefix now makes correct.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
The remaining workshop onboarding friction was "where do I run this": students extracted images-*.tar (no need — setup runs `docker load`), pointed --from-tarballs at the wrong dir, or got lost between the repo and the SSD. - stage-ssd now emits self-locating launchers to the SSD root: START-HERE.cmd (Windows) and start-here.command (macOS). They live on the SSD, so %~dp0 / $(dirname $0) IS the tarball dir — the student double-clicks one file, types no path, guesses no drive letter, and never chooses between `docker load` and `tar`. The .cmd also runs PowerShell with -ExecutionPolicy Bypass, so students never change the machine execution policy. Line endings normalized (CRLF for .cmd, LF for .command) and written UTF-8 no-BOM so a Windows- or mac-staged SSD produces identical, working files. - setup.sh/.ps1: when images-<arch>.tar isn't found under the tarball dir, detect the likely mistake (pointed at the repo, pointed at an extracted archive, or staged the wrong arch) and say so, instead of a bare "not found". - Generated SSD README, quickstart Path C, and workshop-ssd.md now lead with the launcher and explicitly say not to extract images-*.tar; dropped the ambiguous "<dir-containing-the-tarballs>" / "copy the four files" wording. Co-Authored-By: Claude Opus 4.8 (1M context) <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.
Status: DRAFT — parked, not for merge/release yet. Needs a real Windows smoke test first (see gate below).
Came out of the post-workshop friction debrief. Targets the directory / extraction / execution-policy subset of onboarding pain (the WSL2-platform-install + Docker-Desktop-bundling discussion is separate and not in here).
Commits
fix(stage-ssd):prefix repo archive withrangerdanger/— real bug:git archive HEADproduced a flat tarball, so the auto-generated SSD README'star xzf … -C ~scattered ~80 repo files into$HOMEand the followingcd ~/rangerdangerfailed. Added--prefix=rangerdanger/to all four git-archive calls (stage-ssd + stage-ssd-delta,.sh+.ps1) and fixed the docs that assumed flat extraction (delta READMEs +workshop-ssd.mdnow extract in place over~/rangerdanger).feat(ssd):one-click START-HERE launcher + wrong-path guards — stage-ssd emits self-locating launchers to the SSD root:START-HERE.cmd(Windows, runs PowerShell with-ExecutionPolicy Bypass) andstart-here.command(macOS). Because the launcher lives on the SSD, its own dir is the tarball dir — student double-clicks one file, types no path, guesses no drive letter, never chooses betweendocker loadandtar.setup.sh/.ps1now diagnose a missingimages-<arch>.tar(pointed at the repo / at an extracted archive / wrong arch). Docs lead with the launcher and say not to extractimages-*.tar.Verified
bash -non all modified shell scriptspwshparse of all modified.ps1git archive --prefix … | tar xround-trip → clean singlerangerdanger/folder, nothing scatteredNOT tested — release gate before un-drafting
stage-ssdrun (needs Docker + network)START-HERE.cmddouble-click on real Windows → install completesstart-here.commanddouble-click on macOS (exFAT exec bit / Gatekeeper quarantine may need right-click → Open the first time)🤖 Generated with Claude Code