Skip to content

fix(trace-fixtures): correct bogus nixos/nix container digest#238

Merged
avrabe merged 1 commit into
mainfrom
fix/fixture-vm-nix-digest
May 22, 2026
Merged

fix(trace-fixtures): correct bogus nixos/nix container digest#238
avrabe merged 1 commit into
mainfrom
fix/fixture-vm-nix-digest

Conversation

@avrabe
Copy link
Copy Markdown
Contributor

@avrabe avrabe commented May 22, 2026

Summary

The docker.io/nixos/nix@sha256:4aba8f00… digest pinned in both the
trace-fixture workflows does not exist — a direct pull returns
manifest unknown. Every podman run in trace-fixtures.yml (the
nightly) and fixture-vm-flake-lock.yml would fail at the image-pull
step before doing any work.

  • Replaces it with the verified multi-arch index digest for
    nixos/nix:2.24.9 (sha256:fd7a5c67…, manifest.list.v2 — podman
    resolves the right arch from it; a per-arch leaf would be a sharper,
    more fragile pin).
  • Confirmed via podman run <image> nix --versionnix (Nix) 2.24.9.

This unblocks dispatching the fixture-vm flake.lock workflow, whose
artifact is the missing tools/fixture-vm/flake.lock that the nightly
guards on.

Test plan

  • Dispatch fixture-vm flake.lock after merge — first real exercise
    of the rootless-podman + digest-pinned nixos/nix path.
  • Commit the produced flake.lock in a follow-up PR; nightly goes live.

🤖 Generated with Claude Code

The pinned docker.io/nixos/nix@sha256 digest did not exist — a direct
pull returns "manifest unknown", so every `podman run` in both the
trace-fixtures nightly and the flake.lock workflow would fail at the
image-pull step before doing any work.

Replace it with the verified multi-arch INDEX digest for nixos/nix:2.24.9
(manifest.list.v2 — podman resolves the right arch from it). Confirmed
via `podman run <image> nix --version` → 2.24.9.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
@avrabe avrabe enabled auto-merge (squash) May 22, 2026 20:27
@github-actions
Copy link
Copy Markdown

Rivet verification gate

20/20 passed

count
Passed 20
Failed 0
Skipped (no steps) 0

Filter: (and (= type "feature") (or (has-tag "v093") (has-tag "v0100")))

Failed artifacts

(none)

Updated automatically by tools/post_verification_comment.py. Source of truth: artifacts/verification.yaml.

@codecov
Copy link
Copy Markdown

codecov Bot commented May 22, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@avrabe avrabe merged commit 6c76a59 into main May 22, 2026
17 of 18 checks passed
@avrabe avrabe deleted the fix/fixture-vm-nix-digest branch May 22, 2026 23:33
avrabe added a commit that referenced this pull request May 26, 2026
Workspace bump from 0.10.0 → 0.11.0 across all 22 spar crates (via
[workspace.package].version), plus the VS Code extension's
package.json — the two version surfaces the release workflow's
check-versions job compares against the tag.

What v0.11.0 ships, since v0.10.0:

  trace-topology reconciliation engine (incremental rollout):
    #239  IdentityUnknown check (PR 3a — component-borne MAC + chassis-id)
    #241  GptpOutOfBudget check  (PR 3b — single-budget case)

  trace-topology fixture pipeline:
    #233  Rust gen-fixtures tool (netns + TSN, RAII teardown)
    #234  NixOS guest + QEMU harness for fixture generation
    #238  corrected nixos/nix container digest (fd7a5c67…, multi-arch index)
    #240  podman runner label so workflows schedule on the only
          rootless-podman-capable runner in the fleet (runner9)

  codegen:
    #232  --format wit emits only WIT (strict-filter; no Rust/Bazel
          workspace leakage)
    #242  per-category file-count summary + hint when WIT was
          requested but the model has no `process` subcomponents
          (in-flight at bump time; auto-merge armed)

  release flow:
    #244  standardise on the synth reference — actions/attest-build-
          provenance@v2 + sigstore cosign sign-blob (v2.4.1) over
          SHA256SUMS.txt, build-env.txt; the v0.11.0 release is the
          first one to exercise the standardised cosign + SLSA chain.

Verification after release:
  cosign verify-blob \\
    --certificate-identity-regexp \\
      'https://github.com/pulseengine/spar/.github/workflows/release.yml@.*' \\
    --certificate-oidc-issuer 'https://token.actions.githubusercontent.com' \\
    --bundle SHA256SUMS.txt.cosign.bundle SHA256SUMS.txt
  gh attestation verify spar-v0.11.0-<triple>.tar.gz --repo pulseengine/spar

Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant