Skip to content

Move install.sh to scripts/ before the browser client is deleted - #66

Open
op-q wants to merge 1 commit into
docs/roadmap-2026-09-14from
chore/move-install-script
Open

op-q wants to merge 1 commit into
docs/roadmap-2026-09-14from
chore/move-install-script

Conversation

@op-q

@op-q op-q commented Sep 14, 2026

Copy link
Copy Markdown
Owner

Browser client removal, phase 0. It changes the release workflow, so it needs your review before merging. Stacked on #65.

Why this goes first, on its own

release.yml sparse-checks-out web/public/install.sh and publishes it with fail_on_unmatched_files: true. If web/ were deleted first, the next v* tag would fail in the publish job, after the full build matrix had already succeeded. The old chore/remove-web branch does exactly that.

Changes

  • web/public/install.sh moves to scripts/install.sh. Mode 100755 is kept and the content is unchanged.
  • release.yml points its sparse checkout, comment and files: entry at scripts/install.sh.
  • The relay's /install.sh route is removed. It existed so a curl against the hosted relay worked, and that host is gone (decision 16). The README already uses the GitHub release asset.
  • docs/deployment.md no longer says a deployment serves the installer.
  • The plan and checklist are ticked.

Verified

  • scripts/install.sh is byte-identical to the v0.3.0 release asset (cmp against the download).
  • DROP_VERSION=v0.3.0 DROP_INSTALL_DIR=<scratch> sh scripts/install.sh installs a binary that prints drop 0.3.0.
  • cargo fmt --check, cargo clippy -D warnings and cargo test --workspace --all-targets pass. 180 tests, the same count as before, since no test covered the route.
  • scripts/check-secrets.sh passes.

Not verifiable without tagging: the publish job itself. Checked by reading instead: no web/public reference remains in release.yml.

🤖 Generated with Claude Code

https://claude.ai/code/session_01G7Fy45hUvna94cd79WKG8S

`install.sh` has nothing to do with the browser client. It lived in
`web/public/` only because entry 8's split deployment served it as a static
file. The release workflow publishes it from that path under
`fail_on_unmatched_files`, so deleting `web/` first would fail the next tag in
`publish`, after the whole build matrix had already succeeded. Moving it
first keeps the release path intact through every commit of the removal.

The relay's `/install.sh` route goes too. It served the file so a curl against
the hosted relay worked, and entry 16 removed that host. The README already
points at the release asset.

The script is byte-identical to the v0.3.0 release asset, and
`DROP_VERSION=v0.3.0` installs a binary that reports 0.3.0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01G7Fy45hUvna94cd79WKG8S
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

This branch has not been deployed

No deployments
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