| 📦 Turbo Go 3d7798b k33g 11h ago | 1 | # Handoff — 2026-09-19 — Rickub migration and the Release workflow |
| 2 | |
| 3 | ## State |
| 4 | |
| 5 | - The module is `rickub.com/turbo-editors/turbo-go`, pinned to `rickub.com/turbo-editors/turbo-core v1.0.0`, and `GOWORK=off make check` is green (~10 s). |
| 6 | - Releases are one script and one workflow: `./01-release.tag.sh` tags; the tag push runs `.github/workflows/release.yml`, which builds with `./02-build-releases.sh` and publishes the page with the binaries. `02` and `04` are deleted. No token file. |
| 7 | - **Nothing is committed.** This checkout is a fresh `git init` with `origin` at `ssh://git@rickub.com/turbo-editors/turbo-go.git` and no commit; the sandbox cannot reach the remote. |
| 8 | |
| 9 | ## Next steps |
| 10 | |
| 11 | 1. On a machine that reaches Rickub: check `release.env` (`TAG="v1.0.0"`, `ABOUT="Turbo Go"` were left in it — the previous Codeberg release was v0.9.0) and run `./01-release.tag.sh`. It makes the root commit, pushes `main`, tags, pushes the tag. |
| 12 | 2. Watch the Release workflow on the Actions tab. Its first run is the first real test of the workflow file; turbo-core's identical shape has run, this one has not. |
| 13 | 3. If the publish step answers 403, the binaries are still on the run page as the `turbo-go-<tag>` artifact (14 days) — see the comment in the workflow. |
| 14 | 4. Delete `turbo-go.token.env` if one is lying around; nothing reads it any more. |
| 15 | |
| 16 | ## Traps |
| 17 | |
| 18 | - `go.work` beside this checkout points at `../turbo-core`. Every check of the *published* shape must run with `GOWORK=off`; the release tests do that for their children already. |
| 19 | - Do not `go get rickub.com/turbo-editors/turbo-core@v0.9.0`: the proxy has it, but its `go.mod` declares the Codeberg path and Go refuses it. v1.0.0 is the first usable version under the new path. |
| 20 | - `release/` still holds ~489 MB of Codeberg-era binaries (v0.1.0 … v0.9.0). Gitignored; the tests skip it when copying the module. Delete it if disk matters. |
| 21 | - `main.go` owns `func run()`; test helpers in package `main` cannot use that name. |