27 Commits

Author SHA1 Message Date
self 061ea3da52 fix: support prefixed plugin slugs in pin updater
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 31m40s
Resolve plugin source names from canonical tribe-one-* slugs when repositories and Guix files still use the unprefixed basename. Allow the source basename form to follow the manifest slug during the transition and refresh the Sender plugin pin.
2026-06-18 02:21:26 +02:00
self 07f831a909 build: use prefixed plugin names
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 32m39s
Update Guix plugin definitions, substitute targets, and deployment tests to use canonical tribe-one-prefixed plugin slugs.
2026-06-17 22:42:02 +02:00
self 2ec1a43460 fix: avoid eager Hyper-V kexec modules
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 32m40s
Do not eagerly load Hyper-V, VMware, or Xen frontend modules in the kexec installer initrd. The broadened compatibility list caused Hetzner CPX31 kexec boots to fall back to the Ubuntu disk before installer SSH became reachable; the KVM/QEMU and common emulated NIC subset boots successfully.\n\nAlso require cpio in the local kexec image build script so missing cpio fails before writing an incomplete image.
2026-06-10 23:42:20 +02:00
self b85de2ba63 chore: Bump base channel to feature/substitute-read-timeout 2026-06-10 23:42:12 +02:00
self 700886b53a fix: Reduce kexec installer closure size
Avoid embedding the already-copied kexec initrd and boot parameters in the squashfs store closure while keeping the system path and runtime closure available. Add conservative extra tribes-linux trims for niche mesh/IoT network stacks and rare local filesystems.
2026-06-04 21:36:17 +02:00
self 6feab76abc feat: Add sender runtime pack
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 33m17s
Define a Guix tarball pack for external Sender runtime nodes, including ffmpeg, Vinyl, node_exporter, vmagent, and a private Shepherd launcher. The launcher defaults to /etc/tribes/sender-runtime.env and includes an example env file plus optional boot hook installation.
2026-06-04 16:19:27 +02:00
self 858b4bf5ad chore: standardize build host option
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 33m9s
Use --build-host consistently for optional remote Guix pin refreshes while keeping local Guix as the default.
2026-06-01 21:38:04 +02:00
self 5e1a7383bc fix: hash plugin deps with package config
Make update-plugin-pin derive its dependency hashing setup from the plugin package's reuse-host-libs and include-mix-deps settings instead of always injecting the host source setup.
2026-06-01 18:43:21 +02:00
self 9d56a5ca59 chore: Bump tribes + plugins
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 34m23s
2026-06-01 04:47:56 +02:00
self d9498659e8 fix: use Guix auth introduction commit
Keep the pinned Guix target at the trace-framing commit while using the earlier .guix-authorizations commit as the channel introduction.
2026-05-31 01:02:43 +02:00
self 5e1e2b5286 build: pin Guix fork trace framing branch
Move the shared Guix base channel to guix-fork refactor/substituter-trace-framing at 83b0e7d44546968002fb0c0043004da4e9bedc0d and use that signed commit as the channel introduction.
2026-05-31 00:03:04 +02:00
self f8c1022469 fix: update plugin capability pins
Handle keyword-style #:provides and #:requires entries in plugin package definitions, including both pinned and local package variants.\n\nVerified update-plugin-pin with --use-build-host pguix for supertest and sender temp checkouts.
2026-05-28 18:19:05 +02:00
self f98f039fc1 build: slim Guix plugin packages
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 33m16s
Derive plugin registry records from package metadata, reuse host release libs for plugin compilation, and make native/private Mix deps opt-in.\n\nUpdate the Tribes pin to the scheduler commit and verify plugin builds on pguix without shipping host OTP apps.
2026-05-28 13:32:56 +02:00
self 14882a5f01 feat: package Trust and update Kobold pin
Add the Trust plugin package to guix-tribes, include it in plugin pin refreshes and registry substitute packages, and update the Kobold package pin for the dataset foundation.
2026-05-28 13:32:55 +02:00
self f069da99c2 feat: namespace plugin manifests in packaging
Pinned Docker E2E / pinned-docker-e2e (push) Failing after 33m2s
Validate id/slug manifests and fully-qualified capabilities during release assembly, add Kobold to the plugin registry, and
 refresh Tribes/plugin pins.
2026-05-27 19:21:35 +02:00
self 1ce2fad983 feat: make pin updates local-first
Default pin refresh scripts to local Guix and require an explicit --use-build-host HOST for remote hashing/builds. Update the README to describe current channel contents and pin maintenance commands without local host-specific names.
2026-05-23 21:21:35 +02:00
self f600edefc6 feat: add combined pin update script
Add a wrapper that refreshes the Tribes pin and each listed external plugin pin by calling the existing update scripts.

Support an optional --commit flag that stages only the affected pin files and commits them with the requested bump message.
2026-05-23 20:16:51 +02:00
self 9e3d39672e ci: add debug Docker e2e workflow
Pinned Docker E2E / pinned-docker-e2e (push) Has been cancelled
Add a Guix-packed debug Docker image and Gitea workflow for pinned multi-node e2e validation. The debug image is built with admin debug methods enabled and published under debug-specific names so it is not confused with a real release image.
2026-05-23 19:05:40 +02:00
self b0b5b8f60e chore: Bump guix-fork, new channel pin updater 2026-05-19 00:27:29 +02:00
self b820951a42 feat: add kexec installer image builder 2026-05-03 07:26:39 +02:00
self 369fcc6e7a fix: prevent diagnostics script from running during channel build 2026-04-29 10:17:03 +02:00
self b21f0d64bd fix: package system generation comparison as program 2026-04-29 09:04:21 +02:00
self 18d162c555 feat: add system generation comparison tool 2026-04-29 08:04:18 +02:00
self 08a370654a refactor(guix): generalize plugin pin updater
Rewrite update-plugin-pin as a generic Perl script without aether-specific logic or Python dependencies.

Default plugin paths now resolve from the plugin name, and the aether pin was refreshed end to end against pguix.
2026-04-27 23:29:18 +02:00
self 1325c46e62 build: add pinned plugin update workflow 2026-04-26 23:31:25 +02:00
self 9cb7a2fe18 build/docs: update-base-channels-pin, README 2026-04-14 12:59:45 +02:00
self a8b9edcb5a scripts: add tribes pin update helper
Add a small helper that resolves a Tribes revision, exports a clean source tree from the local checkout, and asks pguix to compute the exact Guix fixed-output hashes for the source, raw Mix deps, prepared Mix deps, and npm deps.\n\nThe script updates tribes/packages/source.scm in one step, so bumping the pin no longer requires hand-running git archive, guix hash, and the mix/npm dependency hash pipeline separately.
2026-04-12 13:03:05 +02:00