chore: align tutorial with the v1.0.0 release

This commit is contained in:
2026-09-09 10:10:40 -04:00
parent bc9d0a7865
commit c578342637
6 changed files with 31 additions and 29 deletions
+5 -4
View File
@@ -3,10 +3,11 @@
# Generated code # Generated code
Every `*.sando.go` file is an owned output of the neighboring `*.sando` source. Every `*.sando.go` file is an owned output of the neighboring `*.sando` source.
The committed neighbors were produced by `himesan v1.0.0-beta.1` and remain The committed neighbors were produced by `himesan v1.0.0-beta.1` and were
byte-current under `himesan v1.0.0-rc.1`; the compiler intentionally preserves verified byte-current with both `himesan v1.0.0-rc.1` and final `himesan v1.0.0`.
an honest producer marker when generated semantics are unchanged. Commit both The compiler intentionally preserves an honest producer marker when generated
files so production builds need only ordinary Go and the small `sando` runtime. semantics are unchanged. Commit both files so production builds need only
ordinary Go and the small `sando` runtime.
Never hand-edit a generated neighbor. Run `himesan generate internal/views`, Never hand-edit a generated neighbor. Run `himesan generate internal/views`,
review the deterministic diff, and use `himesan check internal/views` in local review the deterministic diff, and use `himesan check internal/views` in local
+15 -14
View File
@@ -25,28 +25,29 @@ The starter demonstrates the boundary plainly:
time through `Server-Timing`. time through `Server-Timing`.
- Production imports the Apache-2.0 `sando` runtime, not the compiler. - Production imports the Apache-2.0 `sando` runtime, not the compiler.
## Walk the path with RC.1 ## Walk the path with v1.0.0
Install Go 1.25 or newer, then resolve the tiny runtime before installing the Install Go 1.25 or newer, then resolve the tiny runtime before installing the
immutable classroom compiler: matching immutable compiler:
```sh ```sh
git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git
cd sandwich-hime-tutorial cd sandwich-hime-tutorial
GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1 GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0
go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-rc.1 go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0
./scripts/verify.sh ./scripts/verify.sh
GOWORK=off go run ./cmd/site GOWORK=off go run ./cmd/site
``` ```
On Windows PowerShell, use the native verifier: For a Windows portability check, use the PowerShell verifier. Windows is not a
maintained v1 target:
```powershell ```powershell
git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git
Set-Location sandwich-hime-tutorial Set-Location sandwich-hime-tutorial
$env:GOWORK = "off" $env:GOWORK = "off"
go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1 go mod download gamertan.com/sandwich-hime/sando@v1.0.0
go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0-rc.1 go install gamertan.com/sandwich-hime/cmd/himesan@v1.0.0
.\scripts\verify.ps1 .\scripts\verify.ps1
go run ./cmd/site go run ./cmd/site
``` ```
@@ -56,23 +57,23 @@ Make sure Go's install directory—normally `$(go env GOPATH)/bin`—is on
verifier. The starter deliberately runs with `GOWORK=off`: it proves the verifier. The starter deliberately runs with `GOWORK=off`: it proves the
application resolves the published Apache-2.0 runtime rather than a neighboring application resolves the published Apache-2.0 runtime rather than a neighboring
development checkout. The verification scripts require compiler development checkout. The verification scripts require compiler
`v1.0.0-rc.1` and runtime `v1.0.0-rc.1` exactly. `v1.0.0` and runtime `v1.0.0` exactly.
If an earlier compiler-first attempt reports that the parent module does not If an earlier compiler-first attempt reports that the parent module does not
contain `gamertan.com/sandwich-hime/sando`, repair only that module selection: contain `gamertan.com/sandwich-hime/sando`, repair only that module selection:
```sh ```sh
GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1 GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0
GOWORK=off go get gamertan.com/sandwich-hime/sando@v1.0.0-rc.1 GOWORK=off go get gamertan.com/sandwich-hime/sando@v1.0.0
``` ```
Then run the verifier again. You do not need to clear your whole Go module Then run the verifier again. You do not need to clear your whole Go module
cache. cache.
RC.1 freezes the intended v1 compiler/runtime contract while public dogfooding The final v1 compiler/runtime pair follows the project's v1 compatibility
and release-blocking corrections continue. Linux/amd64 and Apple Silicon contract. Canonical Gitea tags and release announcements establish version
macOS/arm64 are maintained native targets. Useful compatibility reports remain availability. Linux/amd64 and Apple Silicon macOS/arm64 are maintained native
welcome on canonical Gitea. targets. Useful compatibility reports remain welcome on canonical Gitea.
Open [http://127.0.0.1:8080/?name=Hime-san](http://127.0.0.1:8080/?name=Hime-san), Open [http://127.0.0.1:8080/?name=Hime-san](http://127.0.0.1:8080/?name=Hime-san),
refresh it, and watch the request number and UTC time change. Then try: refresh it, and watch the request number and UTC time change. Then try:
+1 -1
View File
@@ -4,4 +4,4 @@ module gitea.speelman.ca/gamertan/sandwich-hime-tutorial
go 1.25 go 1.25
require gamertan.com/sandwich-hime/sando v1.0.0-rc.1 require gamertan.com/sandwich-hime/sando v1.0.0
+2 -2
View File
@@ -1,2 +1,2 @@
gamertan.com/sandwich-hime/sando v1.0.0-rc.1 h1:xXjXkvhD0BQQ+mX/w7zkG7qc0WwVmBqn5yFOq8GUqZQ= gamertan.com/sandwich-hime/sando v1.0.0 h1:u1T/6CTmJSK9XaJBve9WNRkh9QCd92zTkzfWrTZoK/4=
gamertan.com/sandwich-hime/sando v1.0.0-rc.1/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis= gamertan.com/sandwich-hime/sando v1.0.0/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis=
+4 -4
View File
@@ -11,10 +11,10 @@ Set-Location $repoRoot
$env:GOWORK = "off" $env:GOWORK = "off"
$himesan = if ($env:HIMESAN_BIN) { $env:HIMESAN_BIN } else { "himesan" } $himesan = if ($env:HIMESAN_BIN) { $env:HIMESAN_BIN } else { "himesan" }
$expectedCompilerVersion = "v1.0.0-rc.1" $expectedCompilerVersion = "v1.0.0"
$expectedRuntimeVersion = "v1.0.0-rc.1" $expectedRuntimeVersion = "v1.0.0"
if (-not (Get-Command $himesan -ErrorAction SilentlyContinue)) { if (-not (Get-Command $himesan -ErrorAction SilentlyContinue)) {
throw "himesan was not found; install v1.0.0-rc.1 or set HIMESAN_BIN" throw "himesan was not found; install v1.0.0 or set HIMESAN_BIN"
} }
function Assert-LastExitCode([string]$Step) { function Assert-LastExitCode([string]$Step) {
@@ -88,4 +88,4 @@ if ($dependencies | Where-Object { $_ -match '^gamertan\.com/sandwich-hime$|^gam
throw "production dependency graph contains the Sandwich Hime compiler" throw "production dependency graph contains the Sandwich Hime compiler"
} }
Write-Output "verified RC.1 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies" Write-Output "verified v1.0.0 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies"
+4 -4
View File
@@ -7,10 +7,10 @@ repo_root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
cd "$repo_root" cd "$repo_root"
himesan_bin=${HIMESAN_BIN:-himesan} himesan_bin=${HIMESAN_BIN:-himesan}
expected_compiler_version=v1.0.0-rc.1 expected_compiler_version=v1.0.0
expected_runtime_version=v1.0.0-rc.1 expected_runtime_version=v1.0.0
if ! command -v "$himesan_bin" >/dev/null 2>&1; then if ! command -v "$himesan_bin" >/dev/null 2>&1; then
echo "himesan was not found; install v1.0.0-rc.1 or set HIMESAN_BIN" >&2 echo "himesan was not found; install v1.0.0 or set HIMESAN_BIN" >&2
exit 1 exit 1
fi fi
@@ -65,4 +65,4 @@ if grep -Eq '^gamertan\.com/sandwich-hime$|^gamertan\.com/sandwich-hime/(cmd|int
exit 1 exit 1
fi fi
echo "verified RC.1 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies" echo "verified v1.0.0 compiler and runtime, deterministic generation, tests, vet, build, and runtime-only production dependencies"