overengineeringstudio / overengineeringstudio/effect-utils

CI flake: macOS Nix store corruption (invalid store paths)

Open
#201 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

area:nix type:bug
Dominant language
TypeScript
Stars
82
Forks
2
Avg merge
1d 8h
Merged PRs (30d)
121

Description

Problem

Intermittent CI failures on namespace-profile-macos-arm64 during Nix/devenv evaluation, before tests run.

Observed failure signature:

  • Failed to convert config.cachix to JSON
  • Evaluation error: Failed to get attribute 'package' (while evaluating cachix.package)
  • Underlying Nix store error: path ...-make-symlinks-relative.sh is not valid (Darwin stdenv bootstrap)

This looks like runner / bundled Nix store cache corruption or missing store paths, not a test flake.

Example Failing Runs

  • 2026-02-12: run 21937239839, job test (namespace-profile-macos-arm64) at commit 056bd8f2…
  • 2026-02-09: run 21840384378, job test (namespace-profile-macos-arm64) shows the same signature

What To Collect Next Time

Please add to this issue:

  • Link to the failing run + job
  • Full nix-store --verify --repair output (now no longer truncated)
  • Any mention of ... is not valid store paths
  • Runner details (macOS version, runner image, Namespace cache settings if visible)

Hypothesis

The Namespace macOS runner 'bundled' Nix store/cache sometimes contains invalid DB entries or missing paths.

Options

  • Fix/disable the problematic runner cache (preferred root-cause fix).
  • Move macOS CI to GitHub-hosted runners to eliminate runner-state flakiness.
  • (Optional) Capture artifacts / add structured diagnostics when the failure signature occurs.

Related PR: #200

Footnote: Created with assistance from an AI coding agent acting on behalf of the user.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the failing test (namespace-profile-macos-arm64) jobs from runs 21937239839 and 21840384378. Collect the full nix-store --verify --repair output, invalid store paths, runner details, and Namespace cache settings. Done means identifying whether runner cache corruption is the cause and applying or documenting a selected mitigation.

Written by the indexing model from the issue text.

Assessment

Tech stack
github-actions, macos
Domain
ci-cd, infrastructure
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.