Skip to content

fix(nix): refresh web/ npm-deps hash to unblock main builds#17174

Merged
OutThisLife merged 2 commits into
mainfrom
bb/nix-web-hash-refresh
Apr 28, 2026
Merged

fix(nix): refresh web/ npm-deps hash to unblock main builds#17174
OutThisLife merged 2 commits into
mainfrom
bb/nix-web-hash-refresh

Conversation

@OutThisLife

@OutThisLife OutThisLife commented Apr 28, 2026

Copy link
Copy Markdown
Collaborator

Closes / supersedes #17133 (hash-refresh only). This PR includes that fix plus the fix-lockfiles hardening that resolves the related nix-lockfile-check false-failures on every PR.

Summary

Two related fixes in one PR:

1. Refresh web/ npm-deps hash

web/package-lock.json was updated by the design-system refactor (merged via #17007 + follow-ups: spinner / select / badges / buttons) without bumping nix/web.nix::npmDeps.hash. Result: every nix (ubuntu-latest) build on main and every open PR has been failing since 2026-04-28T18:46.

Drop in the new hash that the actual Check flake failure already calculated for us:

specified: sha256-AahWmJ9gDQ9pMPa1FYwUjYdO2mOi6JM9Mst27E0vp68=
got:       sha256-+B2+Fe4djPzHHcUXRx+m0cuyaopAhW0PcHsMgYfV5VE=

Verified locally with nix build .#web.npmDeps — clean.

2. Harden fix-lockfiles against magic-cache throttling

While verifying #1, the auxiliary nix-lockfile-check job kept failing with:

GitHub API error: GitHub Actions Cache throttled Magic Nix Cache. Not trying to use it again on this run.
…
error: some outputs of '/nix/store/...-npm-deps.drv' are not valid, so checking is not possible

The fix-lockfiles script in nix/lib.nix then bailed with build failed with no hash mismatch and exit 1 — even though the actual nix (ubuntu-latest) build passed both web AND tui in the same workflow.

The script now recognizes throttling / cache-disabled signatures (HTTP 418, "substituter … disabled", "outputs … not valid") and skips the entry with a warning instead of failing the lint. Real stale hashes still surface in the primary .#$ATTR build, so we don't lose coverage.

Test plan

  • Local: nix build .#web.npmDeps succeeds with new hash.
  • CI: nix (ubuntu-latest) + nix (macos-latest) both green on previous push.
  • CI: nix-lockfile-check no longer false-failing on cache-throttled runs.

Refs

`web/package-lock.json` was updated by the design-system refactor
(merged via #17007 + follow-ups: spinner / select / badges / buttons)
without bumping `nix/web.nix::npmDeps.hash`, breaking nix builds on
every PR + main since 2026-04-28T18:46.

Hash sourced from the actual `Check flake` failure output:
  specified: sha256-AahWmJ9gDQ9pMPa1FYwUjYdO2mOi6JM9Mst27E0vp68=
  got:       sha256-+B2+Fe4djPzHHcUXRx+m0cuyaopAhW0PcHsMgYfV5VE=

Standalone single-file fix so it can land fast and clear nix on
every other open PR.
@alt-glitch alt-glitch added type/bug Something isn't working P1 High — major feature broken, no workaround area/nix Nix flake, NixOS module, container packaging labels Apr 28, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

Likely overlaps with #17133 — both refresh the stale npmDepsHash in nix/web.nix. One should be closed in favor of the other.

…iles

Round 1 of #17174 hit `nix-lockfile-check` failure.  Root cause was
NOT a stale hash — the primary `nix (ubuntu-latest)` and
`nix (macos-latest)` builds passed.  GitHub's Magic Nix Cache returned
HTTP 418 (rate-limited / throttled) mid-run, so the rebuild bailed
with `some outputs of '/nix/store/...-npm-deps.drv' are not valid,
so checking is not possible` — no `got:` line for the script to
extract.

The script then incorrectly treated this as 'build failed with no
hash mismatch' and exited 1, breaking the lint on every PR whenever
the cache is throttled.

Now we recognize the throttling/cache-disabled signature and skip
that entry with a warning.  A real stale hash still surfaces in the
primary `.#$ATTR` build (separate CI job), so we don't lose
coverage.
@OutThisLife OutThisLife force-pushed the bb/nix-web-hash-refresh branch from 5e4999c to b2f936f Compare April 28, 2026 23:39
@OutThisLife OutThisLife merged commit a9efa46 into main Apr 28, 2026
9 of 10 checks passed
@OutThisLife OutThisLife deleted the bb/nix-web-hash-refresh branch April 28, 2026 23:45
@OutThisLife

Copy link
Copy Markdown
Collaborator Author

Note: closes/supersedes #17133 (which had only the hash refresh). This PR adds the fix-lockfiles hardening so the auxiliary nix-lockfile-check job stops false-failing when GitHub's Magic Nix Cache rate-limits mid-run.

ulasbilgen pushed a commit to ulasbilgen/hermes-adhd-agent that referenced this pull request May 1, 2026
…iles

Round 1 of NousResearch#17174 hit `nix-lockfile-check` failure.  Root cause was
NOT a stale hash — the primary `nix (ubuntu-latest)` and
`nix (macos-latest)` builds passed.  GitHub's Magic Nix Cache returned
HTTP 418 (rate-limited / throttled) mid-run, so the rebuild bailed
with `some outputs of '/nix/store/...-npm-deps.drv' are not valid,
so checking is not possible` — no `got:` line for the script to
extract.

The script then incorrectly treated this as 'build failed with no
hash mismatch' and exited 1, breaking the lint on every PR whenever
the cache is throttled.

Now we recognize the throttling/cache-disabled signature and skip
that entry with a warning.  A real stale hash still surfaces in the
primary `.#$ATTR` build (separate CI job), so we don't lose
coverage.
ulasbilgen pushed a commit to ulasbilgen/hermes-adhd-agent that referenced this pull request May 1, 2026
…sh-refresh

fix(nix): refresh web/ npm-deps hash to unblock main builds
donald131 pushed a commit to donald131/hermes-agent that referenced this pull request May 2, 2026
…iles

Round 1 of NousResearch#17174 hit `nix-lockfile-check` failure.  Root cause was
NOT a stale hash — the primary `nix (ubuntu-latest)` and
`nix (macos-latest)` builds passed.  GitHub's Magic Nix Cache returned
HTTP 418 (rate-limited / throttled) mid-run, so the rebuild bailed
with `some outputs of '/nix/store/...-npm-deps.drv' are not valid,
so checking is not possible` — no `got:` line for the script to
extract.

The script then incorrectly treated this as 'build failed with no
hash mismatch' and exited 1, breaking the lint on every PR whenever
the cache is throttled.

Now we recognize the throttling/cache-disabled signature and skip
that entry with a warning.  A real stale hash still surfaces in the
primary `.#$ATTR` build (separate CI job), so we don't lose
coverage.
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…iles

Round 1 of NousResearch#17174 hit `nix-lockfile-check` failure.  Root cause was
NOT a stale hash — the primary `nix (ubuntu-latest)` and
`nix (macos-latest)` builds passed.  GitHub's Magic Nix Cache returned
HTTP 418 (rate-limited / throttled) mid-run, so the rebuild bailed
with `some outputs of '/nix/store/...-npm-deps.drv' are not valid,
so checking is not possible` — no `got:` line for the script to
extract.

The script then incorrectly treated this as 'build failed with no
hash mismatch' and exited 1, breaking the lint on every PR whenever
the cache is throttled.

Now we recognize the throttling/cache-disabled signature and skip
that entry with a warning.  A real stale hash still surfaces in the
primary `.#$ATTR` build (separate CI job), so we don't lose
coverage.
02356abc pushed a commit to 02356abc/hermes-agent that referenced this pull request May 14, 2026
…sh-refresh

fix(nix): refresh web/ npm-deps hash to unblock main builds
dannyJ848 pushed a commit to dannyJ848/hermes-agent that referenced this pull request May 17, 2026
…iles

Round 1 of NousResearch#17174 hit `nix-lockfile-check` failure.  Root cause was
NOT a stale hash — the primary `nix (ubuntu-latest)` and
`nix (macos-latest)` builds passed.  GitHub's Magic Nix Cache returned
HTTP 418 (rate-limited / throttled) mid-run, so the rebuild bailed
with `some outputs of '/nix/store/...-npm-deps.drv' are not valid,
so checking is not possible` — no `got:` line for the script to
extract.

The script then incorrectly treated this as 'build failed with no
hash mismatch' and exited 1, breaking the lint on every PR whenever
the cache is throttled.

Now we recognize the throttling/cache-disabled signature and skip
that entry with a warning.  A real stale hash still surfaces in the
primary `.#$ATTR` build (separate CI job), so we don't lose
coverage.
dannyJ848 pushed a commit to dannyJ848/hermes-agent that referenced this pull request May 17, 2026
…sh-refresh

fix(nix): refresh web/ npm-deps hash to unblock main builds
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…iles

Round 1 of NousResearch#17174 hit `nix-lockfile-check` failure.  Root cause was
NOT a stale hash — the primary `nix (ubuntu-latest)` and
`nix (macos-latest)` builds passed.  GitHub's Magic Nix Cache returned
HTTP 418 (rate-limited / throttled) mid-run, so the rebuild bailed
with `some outputs of '/nix/store/...-npm-deps.drv' are not valid,
so checking is not possible` — no `got:` line for the script to
extract.

The script then incorrectly treated this as 'build failed with no
hash mismatch' and exited 1, breaking the lint on every PR whenever
the cache is throttled.

Now we recognize the throttling/cache-disabled signature and skip
that entry with a warning.  A real stale hash still surfaces in the
primary `.#$ATTR` build (separate CI job), so we don't lose
coverage.
gweeteve pushed a commit to gweeteve/hermes-agent that referenced this pull request Jun 2, 2026
…sh-refresh

fix(nix): refresh web/ npm-deps hash to unblock main builds
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
…iles

Round 1 of NousResearch#17174 hit `nix-lockfile-check` failure.  Root cause was
NOT a stale hash — the primary `nix (ubuntu-latest)` and
`nix (macos-latest)` builds passed.  GitHub's Magic Nix Cache returned
HTTP 418 (rate-limited / throttled) mid-run, so the rebuild bailed
with `some outputs of '/nix/store/...-npm-deps.drv' are not valid,
so checking is not possible` — no `got:` line for the script to
extract.

The script then incorrectly treated this as 'build failed with no
hash mismatch' and exited 1, breaking the lint on every PR whenever
the cache is throttled.

Now we recognize the throttling/cache-disabled signature and skip
that entry with a warning.  A real stale hash still surfaces in the
primary `.#$ATTR` build (separate CI job), so we don't lose
coverage.
Egavasyug pushed a commit to Egavasyug/hermes-agent that referenced this pull request Jun 10, 2026
…sh-refresh

fix(nix): refresh web/ npm-deps hash to unblock main builds
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/nix Nix flake, NixOS module, container packaging P1 High — major feature broken, no workaround type/bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants