chore: align tutorial with the v1.0.0 release
This commit is contained in:
+5
-4
@@ -3,10 +3,11 @@
|
||||
# Generated code
|
||||
|
||||
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
|
||||
byte-current under `himesan v1.0.0-rc.1`; the compiler intentionally preserves
|
||||
an honest producer marker when generated semantics are unchanged. Commit both
|
||||
files so production builds need only ordinary Go and the small `sando` runtime.
|
||||
The committed neighbors were produced by `himesan v1.0.0-beta.1` and were
|
||||
verified byte-current with both `himesan v1.0.0-rc.1` and final `himesan v1.0.0`.
|
||||
The compiler intentionally preserves an honest producer marker when generated
|
||||
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`,
|
||||
review the deterministic diff, and use `himesan check internal/views` in local
|
||||
|
||||
@@ -25,28 +25,29 @@ The starter demonstrates the boundary plainly:
|
||||
time through `Server-Timing`.
|
||||
- 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
|
||||
immutable classroom compiler:
|
||||
matching immutable compiler:
|
||||
|
||||
```sh
|
||||
git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git
|
||||
cd sandwich-hime-tutorial
|
||||
GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
|
||||
go install gamertan.com/sandwich-hime/cmd/himesan@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
|
||||
./scripts/verify.sh
|
||||
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
|
||||
git clone https://gitea.speelman.ca/gamertan/sandwich-hime-tutorial.git
|
||||
Set-Location sandwich-hime-tutorial
|
||||
$env:GOWORK = "off"
|
||||
go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
|
||||
go install gamertan.com/sandwich-hime/cmd/himesan@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
|
||||
.\scripts\verify.ps1
|
||||
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
|
||||
application resolves the published Apache-2.0 runtime rather than a neighboring
|
||||
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
|
||||
contain `gamertan.com/sandwich-hime/sando`, repair only that module selection:
|
||||
|
||||
```sh
|
||||
GOWORK=off go mod download gamertan.com/sandwich-hime/sando@v1.0.0-rc.1
|
||||
GOWORK=off go get 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
|
||||
```
|
||||
|
||||
Then run the verifier again. You do not need to clear your whole Go module
|
||||
cache.
|
||||
|
||||
RC.1 freezes the intended v1 compiler/runtime contract while public dogfooding
|
||||
and release-blocking corrections continue. Linux/amd64 and Apple Silicon
|
||||
macOS/arm64 are maintained native targets. Useful compatibility reports remain
|
||||
welcome on canonical Gitea.
|
||||
The final v1 compiler/runtime pair follows the project's v1 compatibility
|
||||
contract. Canonical Gitea tags and release announcements establish version
|
||||
availability. Linux/amd64 and Apple Silicon macOS/arm64 are maintained native
|
||||
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),
|
||||
refresh it, and watch the request number and UTC time change. Then try:
|
||||
|
||||
@@ -4,4 +4,4 @@ module gitea.speelman.ca/gamertan/sandwich-hime-tutorial
|
||||
|
||||
go 1.25
|
||||
|
||||
require gamertan.com/sandwich-hime/sando v1.0.0-rc.1
|
||||
require gamertan.com/sandwich-hime/sando v1.0.0
|
||||
|
||||
@@ -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-rc.1/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis=
|
||||
gamertan.com/sandwich-hime/sando v1.0.0 h1:u1T/6CTmJSK9XaJBve9WNRkh9QCd92zTkzfWrTZoK/4=
|
||||
gamertan.com/sandwich-hime/sando v1.0.0/go.mod h1:awOXo4t2zNxxgH60qkTpMOdhYnultm9AfpjlN9gOEis=
|
||||
|
||||
+4
-4
@@ -11,10 +11,10 @@ Set-Location $repoRoot
|
||||
$env:GOWORK = "off"
|
||||
|
||||
$himesan = if ($env:HIMESAN_BIN) { $env:HIMESAN_BIN } else { "himesan" }
|
||||
$expectedCompilerVersion = "v1.0.0-rc.1"
|
||||
$expectedRuntimeVersion = "v1.0.0-rc.1"
|
||||
$expectedCompilerVersion = "v1.0.0"
|
||||
$expectedRuntimeVersion = "v1.0.0"
|
||||
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) {
|
||||
@@ -88,4 +88,4 @@ if ($dependencies | Where-Object { $_ -match '^gamertan\.com/sandwich-hime$|^gam
|
||||
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
@@ -7,10 +7,10 @@ repo_root=$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)
|
||||
cd "$repo_root"
|
||||
|
||||
himesan_bin=${HIMESAN_BIN:-himesan}
|
||||
expected_compiler_version=v1.0.0-rc.1
|
||||
expected_runtime_version=v1.0.0-rc.1
|
||||
expected_compiler_version=v1.0.0
|
||||
expected_runtime_version=v1.0.0
|
||||
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
|
||||
fi
|
||||
|
||||
@@ -65,4 +65,4 @@ if grep -Eq '^gamertan\.com/sandwich-hime$|^gamertan\.com/sandwich-hime/(cmd|int
|
||||
exit 1
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user