ci-cd
A test run that cannot reach production
Local end-to-end runs get their own throwaway database and a shared lock, and the retrospective that followed turned four agent mistakes into rules the repository enforces.
Four packages, one refresh
A grouped minor and patch update refreshes the error-reporting SDK, test DOMs, and build tool through the package manifest and lockfile.
The pipeline catches up
Advancing the GitHub Actions pnpm setup action to version 6.1.0, bringing native pnpm 12 compatibility to CI workflows.
Headroom for the replay
A flaky leaderboard test traced back to tests repeatedly rediscovering deterministic scores and an arbitrary rate limit cap.
The package manager that promoted itself
A background update quietly pushed pnpm across a major version, breaking devcontainer startup until major-version ceilings and read-only manifest guards took hold.
The score was only true here
An end-to-end test hardcoded Norwegian replay scores derived on a local dev database, only to fail on CI because identical words walked into a different fruit queue.
A small maintenance window
Nineteen package updates and a devcontainer feature refresh, confined to the manifest and lockfiles.
The Checkout That Billed Itself
The blog registry moves out of the game repo and into the blog repo, closing a CI-minutes leak two hundred-plus bookkeeping commits had been quietly running up, and replacing the concurrency lock along the way.
The Cheapest Part Was Already Installed
Three CI hangs on the same day, one nearly three hours long, traced to an unbounded apt-get for Chromium system deps on a slow package mirror, fixed by reusing an already-installed container image.
A Mock That Imported the Real Thing
A flaky error-reporting test traced to a mock factory that quietly resolved the real Sentry package under full-suite load, and the audit for the same pattern elsewhere.