Skip to content

chore(nix): toolchain bump - #313

Merged
sabinem merged 10 commits into
mainfrom
chore/nix-toolchain-bump
Sep 16, 2026
Merged

sabinem merged 10 commits into
mainfrom
chore/nix-toolchain-bump

Conversation

@sabinem

@sabinem sabinem commented Sep 16, 2026 •

Copy link
Copy Markdown
Collaborator

This PR was extracted from #311 to separate out the nix toolchain upgrade, which had consequences: regenerated code, a reformatting of the codebase, and lint fixes. It has ~250 changed files but only a handful are the upgrade itself:

  • The upgrade: tools/nix (unpinned inputs, a new systems input so quitsh
    can follow it, pkgs.go_1_25 → go_1_26, and a flake.lock refresh) plus
    components/backend/tools/nix (drops enableFakechroot, which needs proot
    and doesn't work on macOS).
  • Regenerated code (~215 files): the lock refresh moves protoc-gen-go
    1.36.11 → 1.36.12 and protoc-gen-go-grpc 1.6.0 → 1.6.2. In 205 of them the
    only change is the generator's version comment. Reproduce with
    just codegen::proto.
  • Reformatting (18 files): treefmt now resolves the frontend's prettier
    config, which it previously missed. Reproduce with treefmt.
  • Lint fixes (17 files): golangci-lint 2.8.0 → 2.13.2 reports 33 issues on
    untouched code, and deprecates two linters that are migrated here.

All three follow-ons are required in this PR: CI regenerates, reformats and
lints, then fails if the result differs from what's committed.

cmdoret and others added 9 commits September 16, 2026 07:21
The nix bump moves protoc-gen-go 1.36.11 -> 1.36.12 and
protoc-gen-go-grpc 1.6.0 -> 1.6.2.

Output of `just codegen::proto` and `just codegen::db-schema` regenrated.
The bump changes how the tree formats: treefmt now resolves the
frontend's prettier config, and the Go line-wrapper splits long calls one
argument per line.

No behaviour change. Every file is byte-identical to its previous
content once whitespace, commas and union pipes are stripped.
The nix bump moves golangci-lint 2.8.0 -> 2.13.2, which reports new
lint issues. These are fixed in this commit.
- goconst, in cmd/seed: exempt the fixtures
- goconst, in rbac.go: fixed
- nolintlint, //nolint directives for gosec and protogetter that
   the linters no longer fire on. Deleted rather than suppressed.
- 2.13 also deprecates exhaustruct and gomodguard. Migrate to
   exhaustruct_v5 and gomodguard_v2
@sabinem sabinem changed the title Chore/nix toolchain bump chore(nix): toolchain bump Sep 16, 2026
The nixpkgs bump removes the nodePackages and nodePackages_latest
attribute sets; prettier is now a top-level package. Only the
format-realm-export process referenced it, and nix evaluates lazily, so
nothing noticed until CI built the test-services process-compose config
and `just deploy::up` failed to start.
@sabinem
sabinem requested a review from cmdoret September 16, 2026 07:38
@sabinem
sabinem merged commit 4419354 into main Sep 16, 2026
3 checks passed
@sabinem
sabinem deleted the chore/nix-toolchain-bump branch September 16, 2026 07:47
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.

2 participants