Commit Graph
11 Commits
Author SHA1 Message Date
mokhtar f168247b33 cut: build the release with the official zig tarball, skip hidden bundle files; re-pin 0.0.17
Gates / frontend (push) Successful in 2m23s
Gates / test (push) Successful in 3m15s
Gates / test-aarch64 (push) Successful in 8m38s
Gates / package (push) Successful in 5m0s
Gates / container (push) Successful in 19s
CI / gates (push) Successful in 17m17s
Release / guard (push) Successful in 37s
Gates / frontend (push) Successful in 2m15s
Gates / test (push) Successful in 2m34s
Gates / test-aarch64 (push) Successful in 7m33s
Gates / package (push) Successful in 51s
Gates / container (push) Successful in 10s
Release / gates (push) Successful in 11m14s
Release / publish (push) Successful in 8m35s
The first 0.0.17 cut (run 687) failed verify-pins in CI for two reasons. The asset generator embedded admin/dist/.src-hash, a freshness stamp that CI's artifact copy does not carry; it now skips dotfiles. And the Arch zig package emits different code than the ziglang.org tarball that CI installs, so the cut downloads the pinned tarball (ZIG_TARBALL_SHA256 in gates.yml, the full digest keys the cache) and builds the release with it. flake.nix is re-pinned to the bytes both now produce.

The saturated-primary pool test gates its holders on a semaphore instead of sleeps and releases every spawned holder on the way out, so a loaded runner cannot flake it. The package job uploads the payload before the pin check and runs the check when the version or flake.nix changed against the parent. The verify-a-release recipe clones the tag first and builds with the official zig.
2026-09-08 23:57:07 +02:00
mokhtar 22abcd9b7b release: nix flake with tag-pinned hashes, reproducible tarballs (milestone 40)
flake.nix fetches the release tarballs and carries their SRI hashes in a generated block. The cut tool builds the release locally with the toolchain gates.yml pins, in a normalized nine-variable environment, writes the hashes into flake.nix, and commits it with build.zig.zon as the single bump commit. The package job verifies the pins on the bump commit and the publish job verifies them again on the tag, before anything is uploaded.

The tarballs are written by dist_stage (std.tar.Writer, flate gzip) instead of the runner's tar and gzip, and -ffile-prefix-map keeps checkout paths out of the C objects; two checkouts at different absolute paths produce byte-identical archives. nxdns version, /api/version and the admin footer report the version only: the bump commit cannot know its own sha.
2026-09-08 21:45:22 +02:00
mokhtar 03149b5d65 ci: drop the one-insn-per-tb workaround, the qemu panic is an 11.1.0-only regression
Release / guard (push) Successful in 36s
Gates / frontend (push) Successful in 2m3s
Gates / test (push) Successful in 2m18s
Gates / test-aarch64 (push) Successful in 7m41s
Gates / package (push) Successful in 4m20s
Gates / container (push) Successful in 10s
Release / gates (push) Successful in 19m21s
Release / publish (push) Failing after 4m49s
the bisect proved the runner image's qemu 8.2 was never affected; the
hangs this masked were the logger deadlock fixed in f1a85d3. the 10x
slowdown it cost also broke the full-batch flush timing test in run 592.
2026-08-23 13:55:22 +02:00
mokhtar 78d688a40f ci: run the aarch64 suite with one qemu insn per tb, tcg optimization falsely trips the ubsan pointer check 2026-08-23 12:26:05 +02:00
mokhtar 1e97c80f6b rename web/ to admin/, along with the web-named build and cli identifiers 2026-08-16 00:17:58 +02:00
mokhtar fc60214b3e ci: the container gate and the version parse move into a compiled tool 2026-08-15 12:24:05 +02:00
mokhtar 13458a980e ci: run the frontend gate on the light runner
Gates / test (push) Successful in 1m37s
Gates / frontend (push) Failing after 3m23s
Gates / package (push) Skipped
Gates / container (push) Skipped
Gates / test-aarch64 (push) Successful in 6m2s
CI / gates (push) Failing after 7m41s
2026-08-12 23:46:07 +02:00
mokhtar e3529e4e61 ci: gates build the web bundle and the dist payload once, pass them between jobs
Gates / test (push) Successful in 1m37s
Gates / test-aarch64 (push) Successful in 6m46s
Gates / frontend (push) Successful in 1m6s
Gates / package (push) Successful in 4m4s
Gates / container (push) Successful in 15s
CI / gates (push) Successful in 13m54s
2026-08-12 20:20:30 +02:00
mokhtar 91a0aa92c6 ci: smoke test runs the container in file mode, surface its logs on failure
Gates / test-aarch64 (push) Successful in 5m55s
Gates / test (push) Successful in 1m27s
Gates / frontend (push) Successful in 50s
Gates / package (push) Successful in 3m52s
Gates / container (push) Successful in 2m28s
CI / gates (push) Successful in 14m34s
2026-08-12 00:15:22 +02:00
mokhtar d7f63b9f6e release: move publication orchestration into tools/release.zig, pin rotated subkey 2026-08-08 20:22:04 +02:00
mokhtar cdacc560b7 milestone 14: build, package, sign and publish releases 2026-08-08 12:38:29 +02:00