Skip to content

test: force aube npm backend in render-check's mise install - #49

Merged
hugoh merged 4 commits into
mainfrom
fix/renovate+mise-aube
Jul 23, 2026
Merged

test: force aube npm backend in render-check's mise install#49
hugoh merged 4 commits into
mainfrom
fix/renovate+mise-aube

Conversation

@hugoh

@hugoh hugoh commented Jul 23, 2026

Copy link
Copy Markdown
Owner

Summary

  • Force MISE_NPM_PACKAGE_MANAGER=aube in render-check's mise install check. Fresh CI runners (no user mise config) default the npm backend to aube, which enforces stricter checks than npm/bun - notably rejecting packages that drop provenance attestation after a prior version had it (this is what caught the npm:cpd 5.0.13 regression, see fix: pin npm:cpd to 5.0.10, catch custom.regex managers in mise.toml Renovate rule #50). Forcing it here makes render-check match what consumer repos' CI actually hits, regardless of what backend happens to be configured on the machine running the test.
  • Parallelize and dedupe render-check's per-case checks (render via copier's Python API in-process, run independent checks concurrently, cache results by content hash across cases that render byte-identical output).

Stacked on #50 (the npm:cpd pin + Renovate fix) - this PR's diff is just the two commits on top.

Needs a mise release that auto-installs the aube backend on demand (confirmed working on 2026.7.12; 2026.7.11 errors "aube may be required but was not found" instead of installing it). This job intermittently resolves an older cached mise release via jdx/mise-action's "latest" lookup - re-running should pass once it lands on 2026.7.12+.

Test plan

  • mise-tasks/render-check passes locally (mise 2026.7.12)
  • CI passes once it resolves mise >= 2026.7.12

hugoh added 2 commits July 23, 2026 18:17
Fresh CI runners (no user mise config) default the npm backend to aube,
which enforces stricter checks than npm/bun - notably rejecting
packages that drop provenance attestation after a prior version had it
(what caught the npm:cpd 5.0.13 regression). Force it here so
render-check matches what consumer repos' CI actually hits, rather than
whatever backend happens to be configured on the machine running this
test.

Needs a mise version that auto-installs the aube backend on demand
(observed working on 2026.7.12, not on 2026.7.11 - older versions
error "aube may be required but was not found" instead of installing
it). CI intermittently runs an older cached/resolved mise release, so
this is kept as its own commit/PR until that's no longer a concern.
shellcheck, shellharden, actionlint, rumdl, tombi, biome, mise install,
hk validate, and goreleaser check were all run one at a time per case,
despite having no dependencies on each other (hk validate still
serializes against other xdist workers via file_lock, just not against
this case's other checks). subprocess.run releases the GIL while
blocked, so a thread pool is enough without an asyncio rewrite. Pool
size is this worker's fair share of the machine's CPUs
(os.cpu_count() // PYTEST_XDIST_WORKER_COUNT), capped at len(checks).

Render via copier's Python API (copier.run_copy) instead of shelling
out to the CLI, avoiding a fresh interpreter spawn per case.

Add cached_check(): several checks are scoped to specific files/globs
that often render byte-identical across cases (mise.toml's [tools]
table and most mise-tasks/* scripts aren't project_name-parameterized).
Dedupe those by content hash so only the first case (across all xdist
workers) to see a given hash actually runs the check; every other case
with the same hash reads the cached result. Left the whole-tree ('.')
checks and goreleaser check (inherently per-label) alone, since they'd
rarely or never hit the cache.

Filter copier's DirtyLocalWarning, which fires routinely when iterating
locally against a dirty working tree and isn't a problem with the render.
@hugoh
hugoh force-pushed the fix/renovate+mise-aube branch from d350032 to d1491a0 Compare July 23, 2026 23:18
@hugoh hugoh changed the title fix/renovate+mise aube test: force aube npm backend in render-check's mise install Jul 23, 2026
@hugoh
hugoh changed the base branch from main to fix/cpd-and-renovate July 23, 2026 23:18
Base automatically changed from fix/cpd-and-renovate to main July 23, 2026 23:20
@hugoh
hugoh enabled auto-merge July 23, 2026 23:38
@hugoh
hugoh merged commit e5d7032 into main Jul 23, 2026
2 checks passed
@hugoh
hugoh deleted the fix/renovate+mise-aube branch July 23, 2026 23:40
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