-
v0.1.8 Stable
released this
2026-07-02 18:32:38 +00:00 | 1292 commits to main since this releaseChanged
- zerotea staging sensor now fires ONLY on release commits (headmsg matches
release-cadence/orrelease:): the release is ONE pipeline from staging
that ff's main at the end. Ordinary lands fire nothing on staging — their
gate is the feature branch's own CI. Fixes the land-batch stampede where 10
merges stacked 10 concurrent pipeline-staging runs (2026-07-02).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- zerotea staging sensor now fires ONLY on release commits (headmsg matches
-
v0.1.7 Stable
released this
2026-07-02 18:15:06 +00:00 | 1297 commits to main since this releaseFixed
- shipd security posture documented honestly: the per-pod CiliumNetworkPolicy is inert on this
cluster (the cluster-wide allow-cluster-mesh CCNP allows all in-cluster ingress; Cilium allows
are additive). Effective guards = identity requirement + shipd-guard VAP + rate limit +
cadence idempotence; oathkeeper id_token verification is the tracked follow-up.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- shipd security posture documented honestly: the per-pod CiliumNetworkPolicy is inert on this
-
v0.1.6 Stable
released this
2026-07-02 17:24:08 +00:00 | 1304 commits to main since this releaseAdded
- The ship API:
bin/pipectl(ship/land/status) and a dashboard Ship
button backed by a new least-privshipdservice — the release act is now an
explicit, audited API call (seanfarm.io/shipped-by), not a VERSION-flip
commit convention. Ship submits the trustedpipeline-release-cadence
template, serialized by the land mutex.
Fixed
- release-cadence no longer cuts EMPTY releases: after any release the devbump
commit alone moved staging past the tag, so an idle cadence tick (the zerotea
6h cron, live) or ship call released pure bookkeeping forever. A
substantive-delta guard now skips unless staging differs from the last tag
outside the version + changelog files. - Ship/cadence runs render quietly on the dashboard unless they FAIL (a running
one already shows in NOW RUNNING; a failed ship is a loud RELEASE-pane row).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- The ship API:
-
v0.1.5 Stable
released this
2026-07-02 16:53:10 +00:00 | 1309 commits to main since this releaseFixed
- zerotea coverage gate: compile the kcov wrapper with
-fllvm. zig 0.16's
default self-hosted x86_64 backend emits DWARF the in-cluster debian kcov
can't read — user code was invisible, so the first hard-gated release run
measured 0.00% and correctly failed. With the LLVM backend kcov reads
99.58%, deterministic across runs (the original research validated on a
Homebrew/macOS kcov, which masked the backend difference).
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- zerotea coverage gate: compile the kcov wrapper with
-
v0.1.4 Stable
released this
2026-07-02 16:18:08 +00:00 | 1314 commits to main since this releaseChanged
- Re-pinned every zelnet-builder consumer from
v2@sha256:b59fbb…to
v3@sha256:a8fdd39b…(zerotea + zelnet config/sensors, seanfarm autoland).
v3 bakeskcov/jq/bc, so zerotea's per-commit coverage gate now enforces
the 85% floor instead of graceful-skipping (the egress-locked compile can't
apt kcov at runtime). Additive for zelnet/zdns (same toolchain, extra tools).
(The bullet originally landed under 0.1.3's heading, but v0.1.3 was tagged
minutes before the re-pin landed — it ships here.)
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Re-pinned every zelnet-builder consumer from
-
v0.1.3 Stable
released this
2026-07-02 16:07:18 +00:00 | 1321 commits to main since this releaseFixed
- pipelines CI no longer fires on the release machinery's ephemeral branches.
Every release's devbump pushed_devbump/vX.Y.Z-devand deleted it seconds
later (after its ff-merge) — CI cloned the already-deleted branch, failed
with git exit 128, and left a label-less red "—" row in the BUILD pane, one
per release. The pipelines sensor filter now excludes_devbump/(as
zelnet's always has) androllback-(as seanfarm's always has) — both
exclusions predate pipelines having a VERSION file, which is why it lacked
them.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- pipelines CI no longer fires on the release machinery's ephemeral branches.
-
v0.1.2 Stable
released this
2026-07-02 15:49:25 +00:00 | 1324 commits to main since this releaseSplits per-commit CI from the expensive release work, and adds a deterministic
"when to cut a release" signal — so a grind can fan out fast feature branches
while fuzz + ReleaseSafe still run often, just not per-PR.Added
templates/base/pipeline-release-cadence.yaml— a trusted CWT (holds the
Forgejo token, runs no project code) that a per-project CronWorkflow submits
on a schedule. If staging advanced past the last release tag, it drops the
-devsuffix in the version file, promotes the CHANGELOG[Unreleased]
section to a dated one, and lands it — drivingpipeline-stagingrelease mode
(deep fuzz + ReleaseSafe + packaging + promote). Idempotent no-op when staging
== last tag, the version is already clean, or the tag exists.projects/zerotea/release-cron.yaml— the zerotea release-cadence signal
(0 */6 * * *, concurrency Forbid). Fuzz + ReleaseSafe now run every 6h when
there are changes, not on every PR.
Changed
projects/zerotea/build.sh— per-commit CI is now a FAST correctness gate:
zig fmt --check+zig build test+ a Debugzig build(compiles exe +
fuzz harness) + a deterministic kcov coverage gate (src-scoped, floor 85%,
today ~99.6%; degrades to a warning until the builder ships kcov). The deep
fuzz pass + amd64/arm64 ReleaseSafe cross-compile + nfpm packaging are gated
to release mode (cleanx.y.z).config.yamlrecords the coverage floor +
the 6h cadence.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
v0.1.1 Stable
released this
2026-07-02 15:00:39 +00:00 | 1329 commits to main since this releaseHardens the release path against the Forgejo ff-race that stranded v0.1.0
(tagged + released but never deployed: the ff-merge 200'd, the DB recorded the
PR merged, and an internal Forgejo op pushed main back seconds later — after
which every re-PR of the same sha insta-closed as "already included"). This
release is itself the fix-forward that advances main past the stranded sha.Fixed
- promote-tag: main advancement now runs in up to 3 rounds and only counts a
main that still holds the release sha after an 8s settle; all rounds failing
aborts the release BEFORE the tag is cut (nothing half-released). - deploy: when the triggering trunk tip is BEHIND the deploy sha (regression),
fail loudly instead of "Succeeded (skipped as superseded)" — a stranded
release is now a red row, not silence. - promote-tag / devbump / deploy ffpr: PR-number fallbacks now match their own
head+base with jq — the old first-open-PR grep could pick an unrelated PR
and merge the wrong thing into the wrong branch.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- promote-tag: main advancement now runs in up to 3 rounds and only counts a
-
v0.1.0 Stable
released this
2026-07-02 14:40:18 +00:00 | 1332 commits to main since this releaseThe first shaped release: the pipelines repo now follows its own contract.
Added
- Consolidated CI/CD dashboard (pipelines.sean.farm): left-nav SPA over every
project, BUILD / RELEASE / DEPLOY panes, per-step archived build & deploy
logs (click a row), greenscreen reel galleries, dev-build downloads. - Shared pipeline templates across 5 taxonomies and 13 projects: validate /
build (buildkit, desktop, ibmi) / test (pkg-install, ibmi-behavioral, noop) /
promote (gpg-pkg, image-cosign, tag) / land / staging / deploy (+ flux
variant) / devbump / cancel-stale / provisioner. - gitops-deploy taxonomy v2 — tag-shaped releases:
VERSION+CHANGELOG.md,
releases cut bypipeline-promote-tag, deploys triggered by the release
advancing main (a main-push sensor), not by every staging land. - deploy-v2: server-side dry-run gate before main advances, ff-only merge
machinery, ArgoCD convergence gate (Synced@sha + Healthy), data-plane smoke
(the dashboard must serve rows, not just 200), auto-rollback on failed
convergence for staging-triggered deploys. - In-cluster CI guards mirrored from pre-push: dashboard row classifier,
archived-log index parser, and the poller-scripts structural guard (all four
broken-\-continuation variants).
Fixed
- The dashboard silent-empty family: poller kubectl promotion gated on
success, per-project truncate (no ghost rows), download-index and prune
protected from transient-blip clobbers.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- Consolidated CI/CD dashboard (pipelines.sean.farm): left-nav SPA over every