Unify container build workflows #306

Merged
eblume merged 3 commits from unify-container-workflows into main 2026-03-23 20:55:51 -07:00
Owner

Summary

  • Merges build-container.yaml and build-container-nix.yaml into a single workflow
  • Detect job classifies each changed container by presence of Dockerfile and/or default.nix
  • Dockerfile containers build on k8s (indri) via Dagger; Nix containers build on nix-container-builder (ringtail) via nix-build + skopeo
  • Containers with both build files (alloy, nettest, ntfy) get built on both runners

Test plan

  • Push a change to a Dockerfile-only container (e.g. grafana) — verify it builds on k8s only
  • Push a change to a nix-only container (e.g. jobsync) — verify it builds on nix-container-builder only
  • Push a change to a dual container (e.g. ntfy) — verify it builds on both runners
  • Test workflow_dispatch with a specific container name

🤖 Generated with Claude Code

## Summary - Merges `build-container.yaml` and `build-container-nix.yaml` into a single workflow - Detect job classifies each changed container by presence of `Dockerfile` and/or `default.nix` - Dockerfile containers build on `k8s` (indri) via Dagger; Nix containers build on `nix-container-builder` (ringtail) via nix-build + skopeo - Containers with both build files (alloy, nettest, ntfy) get built on both runners ## Test plan - [ ] Push a change to a Dockerfile-only container (e.g. grafana) — verify it builds on k8s only - [ ] Push a change to a nix-only container (e.g. jobsync) — verify it builds on nix-container-builder only - [ ] Push a change to a dual container (e.g. ntfy) — verify it builds on both runners - [ ] Test workflow_dispatch with a specific container name 🤖 Generated with [Claude Code](https://claude.com/claude-code)
Merges build-container.yaml and build-container-nix.yaml into a single
workflow with a detect job that classifies containers by build type and
fans out to the correct runner. Containers with both Dockerfile and
default.nix get built on both runners.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Nix builds should resolve version from default.nix or nixpkgs only —
falling back to Dockerfile's CONTAINER_APP_VERSION masks real errors.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Nix builds now require an explicit version = "..." in default.nix —
no implicit nixpkgs eval fallback. Also removes nettest (outgrown)
and updates all doc/task references.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
eblume merged commit bd0ff30d3f into main 2026-03-23 20:55:51 -07:00
eblume referenced this pull request from a commit 2026-03-23 20:55:52 -07:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eblume/blumeops!306
No description provided.