-
v0.1.6 Stable
released this
2026-07-07 15:26:28 +00:00 | 599 commits to trunk since this releaseChanged
- Forgejo scratch:
zfs-nvme-32k→zfs-nvme-128k(pooltank/ephemeral). ZFS recordsize is a
MAX not a fixed block, so small git objects use right-sized sub-blocks either way while packfiles
(index-pack/unpack — the real scratch write cost) get fewer/larger 128k records = better
sequential throughput + lz4 ratio.tank/databases(-32k) is for durable DBs; ephemeral scratch
belongs ontank/ephemeral.
Fixed
- init-directories no longer skips the scratch
mkdiron existing installs.[ ! -d /data/gitea/conf ] && mkdirreturned exit 1 when the dir already existed (post-migration), and
underset -eshort-circuited the script BEFOREmkdir /scratch/local-repo /scratch/uploads—
leaving PR test-merge / upload scratch dirs uncreated. Replaced with unconditionalmkdir -p.
Included changes (v0.1.5 -> v0.1.6)
08f2ff9b33d0fix(forgejo): scratch zfs-nvme-32k->128k (tank/ephemeral) + init-dir mkdir short-circuit
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Forgejo scratch:
-
v0.1.5 Stable
released this
2026-07-07 13:30:35 +00:00 | 604 commits to trunk since this releaseChanged
- Forgejo storage split — durable
/databack onto replicatedmayastor-repl2; scratch onto a
separate node-localzfs-nvmeephemeral volume. Corrects [0.1.4], which wrongly put the DURABLE
git repos on node-local zfs (pinned to one node, not drain-safe). Durable data (canonical repos) now
rides drain-safemayastor-repl2(repl2, not the old repl5); the high-churn git SCRATCH that
actually benefits from fast local zfs + tunable block size — PR test-merges (LOCAL_COPY_PATH), git
temp/unpacks (GITEA_TEMP), upload staging ([repository.upload] TEMP_PATH) — is split onto a
per-pod generic-ephemeralzfs-nvme-32kvolume at/scratch(recreatable, unpinned,
recordsize-swappable). The pod is no longer node-pinned. Now that scratch is off mayastor, raised
the patch-checker + global queueMAX_WORKERS2 → 10 and the Forgejo CPU request 200m → 1 core.
Included changes (v0.1.4 -> v0.1.5)
4f9ed185de77fix(forgejo): durable /data -> mayastor-repl2; split git scratch onto zfs-nvme
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Forgejo storage split — durable
-
v0.1.4 Stable
released this
2026-07-07 11:44:36 +00:00 | 609 commits to trunk since this releaseChanged
- Forgejo
/dataPVC: mayastor →zfs-nvme-32k(node-local ZFS nvme). Moves the git-repo
volume (incl. the PR test-merge scratch under[repository.local]) off replicated-nvmf mayastor
onto node-local ZFS (pooltank/databases, recordsize 32k, lz4) — removes the storage-latency
source of terminal PR-mergeabilityError(4)under batch load, and lets us tune the ZFS block
size for the git workload. TRADEOFF: openebs-zfs pins the volume to one node (not drain-safe like
mayastor repl=3) — accepted; a node roll re-migrates or re-seeds. PVC renamed
data-forgejo-0→data-forgejo-zfs. Migration is data-preserving (copy while quiesced; the
mayastor PVC is retained as fallback until the zfs copy is verified).
Included changes (v0.1.3 -> v0.1.4)
bac1c5f353cffix(forgejo): move /data mayastor -> zfs-nvme-32k (node-local, tunable block size)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Forgejo
-
v0.1.3 Stable
released this
2026-07-07 11:25:23 +00:00 | 614 commits to trunk since this releaseChanged
- Forgejo 14.0.3 → 15.0.3 (LTS) — 14.x is a discontinued release line (no more
security fixes); 15.0.3 is the current LTS (supported to 2027-07).forgejoVersionis
now set explicitly in the XStack composition so the bump rolls the existing composite (a
materialized XRD default does not re-apply). v15 is a one-way DB migration (auto-runs on
startup; no downgrade) — verified our token scopes + all app.ini keys are v15-valid, and
a surgicalpg_dumpofalice_forgejois taken pre-roll for fast rollback. Expect a
one-time re-login (v15 de-brands cookie names; moot given OIDC +session=memory). - Bound the PR patch-checker —
[queue.pr_patch_checker] MAX_WORKERS=2. A transient
error in an on-disk PR test-merge turns into a TERMINALpr.Status=Error(4)(stale
mergeable:false+ merge API 405 "try again later" until a head push — Forgejo has no
recompute lever), which wedged batch-lands 2026-07-07; capping concurrent test-merges
keeps load bursts from inducing those failures.
Included changes (v0.1.2 -> v0.1.3)
16567486c823fix(forgejo): upgrade 14.0.3->15.0.3 LTS + bound PR patch-checker
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Forgejo 14.0.3 → 15.0.3 (LTS) — 14.x is a discontinued release line (no more
-
v0.1.2 Stable
released this
2026-07-06 23:08:44 +00:00 | 619 commits to trunk since this releaseAdded
pipeline-bot— a dedicated NON-ADMIN Forgejo machine identity for the CI/CD
data-plane, so the pipeline legs stop authenticating as the site-admin
gitea_admin.instances/pipeline-bot.yaml: aForgejoUser(isAdmin:false), a
token-issuer Job that basic-auths as the bot and mints awrite:repository-only
PAT (forgejo-pipeline-bot-token), and 18ForgejoCollaboratorCRs granting the
bot write on every pipeline repo (thesean/*repos are user-owned, so a team
can't reach them — direct collaborator is the only way). Theforgejo-creds-reader
Role resourceNames is extended so the token fans intoworkflows-{tenant}like the
admin token. Additive: nothing consumes the bot token until the data-plane legs are
swapped. Requires forgejo-operator >= v0.6.9 (ForgejoUser + ForgejoCollaborator).
Included changes (v0.1.1 -> v0.1.2)
2ac7fd101bc8feat(pipeline-bot): provision dedicated non-admin CI/CD identity
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.1.1 Stable
released this
2026-07-06 22:54:07 +00:00 | 624 commits to trunk since this releaseChanged
- Incremental release.
Included changes (v0.1.0 -> v0.1.1)
52f77bf614cdchore(forgejo-operator): deploy v0.6.9 (ForgejoTagProtection + ForgejoCollaborator)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.1.0 Stable
released this
2026-07-06 15:45:15 +00:00 | 629 commits to trunk since this release- Adopt semver + this changelog: seanfarm/platform-seanfarm now follow the standard
build → release → deploy shape (release cuts a tag + ff main; deploy fires on the main push),
instead of deploying directly on every trunk push. See sean/pipelines gitops-flux.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Adopt semver + this changelog: seanfarm/platform-seanfarm now follow the standard