Skip to content

fix: serve install.sh via docs site and add checksum verification#13

Merged
BjoernSchotte merged 2 commits into
mainfrom
fix/install-sh-404
May 15, 2026
Merged

fix: serve install.sh via docs site and add checksum verification#13
BjoernSchotte merged 2 commits into
mainfrom
fix/install-sh-404

Conversation

@BjoernSchotte

Copy link
Copy Markdown
Owner

Summary

  • Moves install.sh from repo root to public/ so Astro includes it in the docs build output, fixing the 404 at https://atlcli.sh/install.sh
  • Adds SHA-256 checksum verification against the checksums.txt published with each release
  • Adds public/** and src/components/** to the docs workflow path trigger so static asset changes trigger a redeploy

Details

The install script was lost during the MkDocs → Astro Starlight migration. Astro serves files from public/ verbatim at the site root, so public/install.shhttps://atlcli.sh/install.sh.

The checksum verification downloads the archive to a temp directory, verifies the SHA-256 hash, then extracts — failing hard on mismatch. It gracefully degrades when checksums or sha256sum/shasum are unavailable (warns and continues).

Fixes #4

Test plan

  • bun run docs:build produces dist/install.sh
  • After deploy, curl -fsSL https://atlcli.sh/install.sh returns the script (no 404)
  • curl -fsSL https://atlcli.sh/install.sh | bash installs successfully with checksum verification
  • Script degrades gracefully when checksums.txt is unavailable (e.g. pre-release versions)

🤖 Generated with Claude Code

BjoernSchotte and others added 2 commits May 15, 2026 13:05
Move install.sh from repo root to public/ so Astro includes it in the
docs build output, fixing the 404 at https://atlcli.sh/install.sh.

Also adds SHA-256 checksum verification against the checksums.txt
published with each release. The script downloads the archive to a
temp directory, verifies the checksum, then extracts — failing hard
on mismatch. Gracefully degrades when checksums or sha256sum/shasum
are unavailable.

Adds public/** and src/components/** to the docs workflow path trigger
so future static asset changes trigger a redeploy.

Fixes #4

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
The EXIT trap used single quotes with a local variable, so $tmpdir was
out of scope (empty) when the trap fired after install_atlcli returned.
Switch to double quotes to capture the path at trap-set time.

Use grep -F for the checksum filename lookup to prevent dots in the
asset name from being treated as regex wildcards.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@BjoernSchotte BjoernSchotte merged commit 9f77067 into main May 15, 2026
2 checks passed
@BjoernSchotte BjoernSchotte deleted the fix/install-sh-404 branch May 15, 2026 11:14
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.

https://atlcli.sh/install.sh gives 404

1 participant