cat / 012
clone

a spreadsheet for the terminal: lotus 1-2-3 looks, google sheets keys and formulas, one go binary

Site: 012.dev.site is the site's and the install scripts' address

Dami committed 9cad411
SITE_URL, the install scripts' O12_BASE_URL default, site-release's
rewrite and the docs name https://012.dev.site; site.md says how the
site is hosted and published and what f58b.n.zip serves.
commit
9cad411e2eaed58a5c3d4327c1324ebea291bfc1
parent
79b7fdec3386ac72f43cac013141a6d17897384f
author
Dami <dami.etoile@gmail.com>
kind
chore risk score 2.1 of 3, Jev's estimate
9 files changed, +59 -44
MREADME.md6++--
MROADMAP.md2+-
Mdocs/contributing/releasing.md28+++++++++++-----------
Mdocs/contributing/site.md39+++++++++++++++++++++---------
Mdocs/getting-started/install.md6++--
Mscripts/install/install.ps16++--
Mscripts/install/install.sh8+++---
Mscripts/site-release.sh6++--
Mwebsite/docusaurus.config.ts2+-
M README.md +3 -3
M ROADMAP.md +1 -1
@@ -133,7 +133,7 @@ needs cgo.
133133 134134 - `make check` before every push; demo tapes (`make demos`); annotated version tags with release notes (v0.2.0 onward; v0.1.0 remains on the Go module proxy): [Testing](docs/contributing/testing.md)135135 - A release checklist (XLSX output opened in Excel, LibreOffice and Google Sheets) and `make dist`, release archives cross-compiled locally with SHA256SUMS: [Releasing](docs/contributing/releasing.md)136-- Installing without Go: `curl -fsSL https://f58b.n.zip/install.sh | sh` (and `install.ps1` on Windows) with the release archives served from the docs site by `make site-release`: [Install and run](docs/getting-started/install.md), [Releasing](docs/contributing/releasing.md#publishing)136+- Installing without Go: `curl -fsSL https://012.dev.site/install.sh | sh` (and `install.ps1` on Windows) with the release archives served from the docs site by `make site-release`: [Install and run](docs/getting-started/install.md), [Releasing](docs/contributing/releasing.md#publishing)137137 - `make stress-report` flags regressions against the last release's run, allowing for noise: [Observability](docs/contributing/observability.md#regressions-against-the-last-release)138138 - Grafana: recent traces and a trace view of the nested spans: [Observability](docs/contributing/observability.md#the-stack)139139 - Every overlay, prompts and formula suggestions behind narrow hosts, most in packages of their own with fake-host tests: [Architecture](docs/contributing/architecture.md#the-ui)
M docs/contributing/releasing.md +14 -14
@@ -7,8 +7,9 @@ sidebar_position: 8
77 88 A release is an annotated version tag whose message is the release99 notes, and archives of the binaries built from it on a maintainer's10-machine, served with the docs site on the owner's nzip server along11-with the install scripts that download them. The GitHub repository only10+machine, served with the docs site at11+[012.dev.site](site.md#where-it-lives) along with the install scripts12+that download them. The GitHub repository only1213 hosts the code: nothing builds or publishes there.1314 1415 ## Checklist
@@ -27,9 +28,8 @@ flowchart TD
2728 tag -->|the module proxy| install[go install ...@v1.2.3]2829 tag --> dist[make dist]2930 dist --> archives[dist/: archives, SHA256SUMS]30- archives --> site[make site-release]31- site --> push[nzip site push website/build public:012]32- push --> live[install.sh, /releases/v1.2.3/ and /releases/latest/ live]31+ archives --> publish[make site-publish]32+ publish --> live[install.sh, /releases/v1.2.3/ and /releases/latest/ live]3333 ```3434 3535 1. **`make check`** passes on the commit to be tagged (see
@@ -64,13 +64,12 @@ flowchart TD
6464 ([Publishing](#publishing)):6565 6666 ```sh67- SITE_URL=https://f58b.n.zip make site-release VERSION=v1.2.368- nzip site push website/build public:01267+ make site-publish VERSION=v1.2.36968 ```7069 7170 then check the live copy: `SHA256SUMS` at72- `https://f58b.n.zip/releases/v1.2.3/` matches `dist/SHA256SUMS`, and73- `curl -fsSL https://f58b.n.zip/install.sh | PREFIX=$(mktemp -d) sh`71+ `https://012.dev.site/releases/v1.2.3/` matches `dist/SHA256SUMS`, and72+ `curl -fsSL https://012.dev.site/install.sh | PREFIX=$(mktemp -d) sh`7473 installs a `012` whose `012 version` prints v1.2.3.7574 7675 ## File fixtures
@@ -145,11 +144,12 @@ copying them. `SITE_URL` also goes into the copied install scripts, so a
145144 site built for another address serves scripts that download from it.146145 147146 The site serves one release, `VERSION`, under both addresses; earlier148-releases stay installable with `go install ...@v1.2.3`. Every push149-replaces the whole site, so the docs are always published with150-`make site-release` ([The docs site](site.md#where-it-lives)): a push151-of a plain `make site` build leaves the install script without its152-archives.147+releases stay installable with `go install ...@v1.2.3`.148+`make site-publish` deploys the result149+([The docs site](site.md#where-it-lives)). Every deploy replaces the150+whole site, so the docs are always published with the release: a151+deploy of a plain `make site` build leaves the install script without152+its archives.153153 154154 The install scripts live in `scripts/install/`. `install.sh` is POSIX155155 sh (it runs under dash as well as sh) and needs curl or wget, tar, and
M docs/contributing/site.md +27 -12
@@ -21,25 +21,40 @@ the lockfile pins, with install scripts off (no dependency needs one).
2121 To look at the built site as a static host serves it, run2222 `npm run serve` in `website/` after `make site`. `SITE_URL` sets the2323 address canonical links and the sitemap use (`SITE_URL=https://... make24-site`); the site sits at the root of its host.24+site`), [012.dev.site](#where-it-lives) unless set; the site sits at the25+root of its host.2526 2627 ## Where it lives2728 28-The site is published at [f58b.n.zip](https://f58b.n.zip/), a public,29-permanent address on the owner's nzip server, which also serves the30-install scripts and the latest release's archives. To publish a new31-build to the same address:29+The site is published at [012.dev.site](https://012.dev.site/), which30+also serves the install scripts and the latest release's archives. It31+is a Cloudflare Worker with static assets and no code of its own,32+configured in `website/wrangler.jsonc`: the worker `012-site` serves33+`website/build`, `012.dev.site` is its custom domain (Cloudflare keeps34+the DNS record and the certificate), an address that names a page's35+directory without its trailing slash redirects to it, and an address36+with no file gets the site's 404 page. `website/static/_headers` gives37+the files whose extension names no type, `install.ps1` and38+`SHA256SUMS`, a text one. To publish a new build:3239 3340 ```sh34-SITE_URL=https://f58b.n.zip make site-release35-nzip site push website/build public:01241+make site-publish VERSION=v1.2.33642 ```3743 38-`make site-release` is `make site` with the release added39-([Publishing](releasing.md#publishing)); a push of a plain `make site`40-build would take the install script and the archives off the site.41-42-The target keeps its policies (public, no expiry) between pushes.44+`make site-publish` is `make site-release`, which is `make site` with45+the release added ([Publishing](releasing.md#publishing)), followed by46+`wrangler deploy` in `website/`, the version `website/package.json` pins.47+It needs Node 22 or later, which wrangler does, and wrangler logged in48+to the Cloudflare account that holds the `dev.site` zone49+(`npx wrangler login` in `website/`). Every deploy replaces the whole50+site, so a deploy of a plain `make site` build would take the install51+script and the archives off it. A file may be at most 25 MiB, which the52+release archives stay well under.53+54+`f58b.n.zip`, on the owner's nzip server, keeps links to the site55+there working: each page's address serves a page that sends the browser56+on to the same page here, and its `install.sh` and `install.ps1` run57+this site's.4358 4459 ## The build is a docs check4560
M docs/getting-started/install.md +3 -3
M scripts/install/install.ps1 +3 -3
M scripts/install/install.sh +4 -4
M scripts/site-release.sh +3 -3
M website/docusaurus.config.ts +1 -1