docs/releasing.md describes the release pipeline: Gitea as the record, Release 1 - build → 2 - Preview → 3 - Stable as workflows, and a person deciding each step. Its Gitea-side setup was never finished, and it hasn't been redone since the repository moved to Zayin/Classroom_Desktop on git.zayin.net. The doc's own Gitea administration still to do checklist is entirely unticked. Until this is done, the release workflows can't be used, and the next promotion (0.2.6.6 → stable) has no release record to promote.
…/canary/manifest.json serves 0.2.6.6 (2b972391…, matching docs/testing.md), which has waited for its physical checks since 2026-09-29.
Gitea releases: none.GET /repos/Zayin/Classroom_Desktop/releases returns []. The import of 0.2.6.6 (checklist item 6) hasn't been run, and Release 3 - Stable expects that record to exist.
Tags: only v0.2.6.6 on Gitea (at 1a338b2, on both master and release/0.2). A local v0.1.5 exists on the development machine but was never pushed.
What the workflows need (from .gitea/workflows/release-*.yml)
Needs
Used by
a runner labelled ekklesia-ci
build, import, preview (gate job)
a runner labelled ekklesia-release (container mode, no Docker socket, repository level)
preview (publish job), stable
secret RELEASE_API_TOKEN (optional; falls back to the job token)
a classroom-publish account and key on the update server
preview, stable
branch protection on master and release/* with CI / checks and CI / package and container gate required
merging
Not verified (needs a Gitea admin)
Whether any of the secrets, variables, ekklesia-release runner, or branch protections exist on the Zayin instance: the reviewing account only has read access to this repository. Also, the ekklesia-ci runner currently runs jobs in containers, which affects the container gate (see #1).
Suggested order
Fix CI first (#1, #2, #3) so CI / package and container gate can actually be required.
Work through the checklist in docs/releasing.md on the Zayin instance, updating its instance URLs (#5).
Run Release - import an existing release for 0.2.6.6, using the version, sha256 and commit in docs/testing.md.
Do 0.2.6.6's physical checks, then promote through Release 3 - Stable: the first end-to-end use of the publish path, which docs/releasing.md notes was never measured against the real server.
Found by Claude during a review of Classroom_Desktop's CI, 2026-10-14 (found-by-claude).
## Summary
`docs/releasing.md` describes the release pipeline: Gitea as the record, **Release 1 - build → 2 - Preview → 3 - Stable** as workflows, and a person deciding each step. Its Gitea-side setup was never finished, and it hasn't been redone since the repository moved to `Zayin/Classroom_Desktop` on `git.zayin.net`. The doc's own **Gitea administration still to do** checklist is entirely unticked. Until this is done, the release workflows can't be used, and the next promotion (0.2.6.6 → stable) has no release record to promote.
## Current state (verified 2026-10-14)
- **Update server is healthy:**
- `https://updates.riverofglorymn.org/stable/manifest.json` serves **0.2.6.4** (`80388e7a…`).
- `…/canary/manifest.json` serves **0.2.6.6** (`2b972391…`, matching `docs/testing.md`), which has waited for its physical checks since 2026-09-29.
- **Gitea releases: none.** `GET /repos/Zayin/Classroom_Desktop/releases` returns `[]`. The import of 0.2.6.6 (checklist item 6) hasn't been run, and **Release 3 - Stable** expects that record to exist.
- **Tags:** only `v0.2.6.6` on Gitea (at `1a338b2`, on both `master` and `release/0.2`). A local `v0.1.5` exists on the development machine but was never pushed.
## What the workflows need (from `.gitea/workflows/release-*.yml`)
| Needs | Used by |
|---|---|
| a runner labelled `ekklesia-ci` | build, import, preview (gate job) |
| a runner labelled `ekklesia-release` (container mode, no Docker socket, repository level) | preview (publish job), stable |
| secret `RELEASE_API_TOKEN` (optional; falls back to the job token) | all |
| secret `CLASSROOM_UPDATES_SSH_KEY` | preview, stable |
| variables `CLASSROOM_UPDATES_ADDRESS`, `CLASSROOM_UPDATES_USER`, `CLASSROOM_UPDATES_KNOWN_HOSTS` | preview, stable |
| a `classroom-publish` account and key on the update server | preview, stable |
| branch protection on `master` and `release/*` with **CI / checks** and **CI / package and container gate** required | merging |
## Not verified (needs a Gitea admin)
Whether any of the secrets, variables, `ekklesia-release` runner, or branch protections exist on the Zayin instance: the reviewing account only has read access to this repository. Also, the `ekklesia-ci` runner currently runs jobs in containers, which affects the container gate (see #1).
## Suggested order
1. Fix CI first (#1, #2, #3) so **CI / package and container gate** can actually be required.
2. Work through the checklist in `docs/releasing.md` on the Zayin instance, updating its instance URLs (#5).
3. Run **Release - import an existing release** for 0.2.6.6, using the version, sha256 and commit in `docs/testing.md`.
4. Do 0.2.6.6's physical checks, then promote through **Release 3 - Stable**: the first end-to-end use of the publish path, which `docs/releasing.md` notes was never measured against the real server.
---
_Found by Claude during a review of Classroom_Desktop's CI, 2026-10-14 (`found-by-claude`)._
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
docs/releasing.mddescribes the release pipeline: Gitea as the record, Release 1 - build → 2 - Preview → 3 - Stable as workflows, and a person deciding each step. Its Gitea-side setup was never finished, and it hasn't been redone since the repository moved toZayin/Classroom_Desktopongit.zayin.net. The doc's own Gitea administration still to do checklist is entirely unticked. Until this is done, the release workflows can't be used, and the next promotion (0.2.6.6 → stable) has no release record to promote.Current state (verified 2026-10-14)
https://updates.riverofglorymn.org/stable/manifest.jsonserves 0.2.6.4 (80388e7a…).…/canary/manifest.jsonserves 0.2.6.6 (2b972391…, matchingdocs/testing.md), which has waited for its physical checks since 2026-09-29.GET /repos/Zayin/Classroom_Desktop/releasesreturns[]. The import of 0.2.6.6 (checklist item 6) hasn't been run, and Release 3 - Stable expects that record to exist.v0.2.6.6on Gitea (at1a338b2, on bothmasterandrelease/0.2). A localv0.1.5exists on the development machine but was never pushed.What the workflows need (from
.gitea/workflows/release-*.yml)ekklesia-ciekklesia-release(container mode, no Docker socket, repository level)RELEASE_API_TOKEN(optional; falls back to the job token)CLASSROOM_UPDATES_SSH_KEYCLASSROOM_UPDATES_ADDRESS,CLASSROOM_UPDATES_USER,CLASSROOM_UPDATES_KNOWN_HOSTSclassroom-publishaccount and key on the update servermasterandrelease/*with CI / checks and CI / package and container gate requiredNot verified (needs a Gitea admin)
Whether any of the secrets, variables,
ekklesia-releaserunner, or branch protections exist on the Zayin instance: the reviewing account only has read access to this repository. Also, theekklesia-cirunner currently runs jobs in containers, which affects the container gate (see #1).Suggested order
docs/releasing.mdon the Zayin instance, updating its instance URLs (#5).docs/testing.md.docs/releasing.mdnotes was never measured against the real server.Found by Claude during a review of Classroom_Desktop's CI, 2026-10-14 (
found-by-claude).