Skip to content

Install with one command (curl | sh) for Mac and Linux; the site and README lead with it (merge after #27) - #38

Merged
asaficontact merged 4 commits into
mainfrom
install-script
Oct 6, 2026
Merged

asaficontact merged 4 commits into
mainfrom
install-script

Conversation

@asaficontact

Copy link
Copy Markdown
Contributor

Merge after #27. This branch is built on it.

Spec Until Apple notarization, the landing page shows an install command instead of a Download button (Tawab, 10-05). One command for Mac and Linux:

curl -fsSL https://archdraw.dev/install.sh | sh

Change

  • site/public/install.sh (POSIX sh, shellcheck clean, runs under dash). It finds the latest release and checks the download against the release's SHA256SUMS. Then:
    • macOS 13+: installs the build for the chip (Rosetta-aware) into /Applications, or ~/Applications. A file fetched by curl carries no quarantine flag, so archdraw opens with no Open Anyway step.
    • Debian and Ubuntu: installs the .deb with apt.
    • Other Linux: installs the AppImage behind an archdraw launcher, which runs it extracted when FUSE 2 is missing (Ubuntu 24.04 ships without it), with an app-menu entry and icon.
  • Site:
    • the hero and the Get section show the command, a Copy button (a check, and "Copied" for screen readers), "Read the script" and "Or download the files";
    • the top bar says Install;
    • the kicker is now "Architecture diagrams that never go stale";
    • the hero's text column is a little wider, so the command reads in two lines on desktop;
    • the top bar fits at 360 px (it overflowed after the GitHub icon was added); at 320 px its Install button hides.
  • README and docs/install-mac.md lead with the command; the manual downloads follow.
  • .github/workflows/install-script.yml runs curl | sh on macOS and Linux runners against a stand-in release. It checks the install, that there is no quarantine flag on macOS, the launcher and menu entry on Linux, and that a tampered checksum is refused.

Evidence

  • With the rehearsal's real packages (run 37407616186) served on localhost, run as curl … | dash:
    • AppImage path: installed, and the installed archdraw command starts the app ("archdraw smoke ok 0.1.0", in extract mode, since this box has no libfuse2);
    • deb path: runs sudo apt-get install -y on the checked file (apt and sudo stubbed);
    • tampered checksum: refused, nothing installed;
    • no published release: a clear message.
  • Site: npm run build and astro check pass (0 errors, 0 warnings).
  • Copy was checked by reading the clipboard back: exactly the command, without the $.
  • No sideways scroll at 320–1440 px. The command never clips: 2 lines on desktop, 3 on phones.
  • The macOS run of this PR's install-script workflow is the Mac evidence.

Rollback git revert the merge.

— Banna, one of Tawab's agents

Banna added 3 commits October 5, 2026 22:51
…with its opening steps, and an updater that knows the difference

Tawab (10-05): release 0.1.0 for Mac and Linux now, with guidance for the extra step on a Mac.
- release.yml: a v* tag signs and notarizes when the Apple secrets are in the release environment, else signs ad hoc; an ad hoc build's draft release opens with the Mac steps (mac-signing.txt carries which, and never ships)
- desktop: a Mac app updates itself only with a Developer ID signature (codesign); an ad hoc one is told about a new version and sent to the download page, as a .deb is, instead of announcing an install macOS would refuse
- docs/install-mac.md: opening it the first time on macOS 15+ (Open Anyway), 13 and 14 (right-click > Open) or from the Terminal; linked from the README and the site's Mac row
- README: the reladraw section is two sentences

Agent: Banna
Signed-off-by: Banna <banna@archdraw.dev>
…ng engine, and say where archdraw takes the language

Tawab (10-05): credit reladraw as the inspiration and starting engine, no more, and aim to grow the language into one optimized for software architecture. The README's 'Built on reladraw' becomes 'Where the language comes from'; the license line and CONTRIBUTING's engine row say the engine started from reladraw (still Apache-2.0, unmodified, per NOTICE).

Agent: Banna
Signed-off-by: Banna <banna@archdraw.dev>
…| sh, on the site, the README and the Mac guide

Tawab (10-05): until Apple notarization, the landing page shows an install command instead of a Download button.
- site/public/install.sh (POSIX sh, shellcheck clean): finds the latest release, checks the download against its SHA256SUMS, then on macOS 13+ installs the build for the chip (Rosetta-aware) in /Applications or ~/Applications with no quarantine flag, so it opens with no Open Anyway step; on Debian and Ubuntu installs the .deb with apt; elsewhere installs the AppImage behind an archdraw launcher that runs it extracted when FUSE 2 is missing, with an app-menu entry and icon
- the hero and the Get section show the command with a Copy button (a check and a spoken Copied), Read the script, and Or download the files; the top bar says Install; the kicker is 'Architecture diagrams that never go stale'; the hero's text column is a little wider so the command reads in two lines
- the top bar fits at 360 px (it overflowed since the GitHub icon); at 320 px its Install button hides
- README and docs/install-mac.md lead with the command
- .github/workflows/install-script.yml runs curl | sh on macOS and Linux runners against a stand-in release: installed, no quarantine (macOS), launcher and menu entry (Linux), and a tampered checksum refused

Tested here with the rehearsal's real packages (run 37407616186) served on localhost: the AppImage path installs and the installed command starts the app (smoke ok, extract mode, as trex has no libfuse2); the deb path runs sudo apt-get install -y on the checked file (apt and sudo stubbed); a tampered checksum is refused with nothing installed; no release gives a clear message. Site: build and astro check clean; Copy checked by reading the clipboard back; no sideways scroll at 320 to 1440 px.

Agent: Banna
Signed-off-by: Banna <banna@archdraw.dev>
@vercel

vercel Bot commented Oct 6, 2026 •

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated
archdraw Ready Ready Preview Oct 6, 2026 3:27am UTC

Request Review

The macOS and Linux install tests failed: their stand-in release was one line of JSON, and the script read one field per line, so it saw a single download URL and no SHA256SUMS. It now splits the response on commas first. Checked with pretty and minified responses, and against a live GitHub release response (42 of 42 asset URLs, the tag read).

Agent: Banna
Signed-off-by: Banna <banna@archdraw.dev>
@asaficontact
asaficontact merged commit 3f7547a into main Oct 6, 2026
7 checks passed

This branch was successfully deployed

1 active deployment
Preview — bea3784d Deployed Oct 6, 2026 by vercel[bot]
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