Skip to content

build with nixpkgs 26.05 - #164

Merged
jali-clarke merged 5 commits into
trunkfrom
jinnah/pde-885-upgrade-auxiliary-repos-to-2605
Oct 1, 2026
Merged

jali-clarke merged 5 commits into
trunkfrom
jinnah/pde-885-upgrade-auxiliary-repos-to-2605

Conversation

@jali-clarke

@jali-clarke jali-clarke commented Sep 30, 2026 •

Copy link
Copy Markdown
Member

build and test all packages with the nixpkgs 26.05 toolchain 😎

note: the ci (ubuntu-22.04, nixos-25.05, ghc-9-12) status check will be permanently stuck since it depends on the ubuntu and nixpkgs version. once you approve this pr, i'll change the required status check to be ci (ubuntu-24.04, nixos-26.05, ghc-9-12) (updates ubuntu and nixpkgs version)

completes pde-885

Copilot AI balanced review requested due to automatic review settings September 30, 2026 19:59
@linear

linear Bot commented Sep 30, 2026

Copy link
Copy Markdown

PDE-885

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot review overview

🟡 Changes recommended

The HLS 2.14 test-utils override omits its newly required primitive build dependency.

Review effort: Balanced
Findings: 1 High severity

Open (1)
What changed in this PR

Updates the development shell and CI to Nixpkgs 26.05 with GHC 9.12.4.

Changes:

  • Upgrades Nixpkgs, GHC, CI runners, and development tools.
  • Adds compatibility overrides for HDBC, HLS, and strict-stm.
  • Applies formatter updates to Haskell tests and internals.
File Description
.github/​workflows/​ci.yml Updates CI runners and Nix channels.
shell-ghc-9-12.nix Selects GHC 9.12.4 and HDBC 2.4.0.5.
nix/​sources.json Updates pinned Nixpkgs and package sources.
nix/​mk-shell.nix Updates shell tools and Kafka.
nix/​common-haskell-overrides.nix Adds compatibility overrides.
nix/​patches/​strict-stm-1_5_0_0-inspect-monad-fix.patch Adapts strict-stm to the renamed type.
nix/​patches/​hdbc-time-1.14.patch Removes the obsolete HDBC patch.
nri-redis/​test/​Spec/​Redis.hs Applies formatting changes.
nri-prelude/​tests/​TestSpec.hs Applies formatting changes.
nri-prelude/​tests/​ArraySpec.hs Applies formatting changes.
nri-prelude/​src/​Test/​Internal.hs Applies formatting cleanup.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread nix/common-haskell-overrides.nix

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When one dies another is born.

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😭 😭 😭

@derek-noredink derek-noredink left a comment •

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Too bad we needed to add a bunch of overrides, but I know how it is.

Comment on lines +5 to +21

hlsPkgSrc =
{
subPkg ? null,
version ? "2.14.0.0",
}:
if super.haskell-language-server.version != "2.13.0.0" then
throw "expected haskell-language-server from nixpkgs to be 2.13.0.0, got ${super.haskell-language-server.version} instead. please remove the niv source for haskell-language-server and use the one directly from nixpkgs instead"
else
{
inherit version;
src =
if subPkg == null then
sources.haskell-language-server-2_14_0_0
else
"${sources.haskell-language-server-2_14_0_0}/${subPkg}";
};

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice guard here.

Comment on lines +67 to +75
# nixpkgs provides `tls@2.1.8` but this is actually deprecated according to
# hackage anyway (lol). we don't over-upgrade to `2.3.x` or `2.4.x` because
# those have `crypton-* >=1.9.0` and `ram` as constraints (relevant for our monorepo)
tls = self.callHackage "tls" "2.2.2" { };

# required by the above
crypton-x509 = self.callHackage "crypton-x509" "1.8.0" { };
crypton-x509-validation = self.callHackage "crypton-x509-validation" "1.8.0" { };
crypton-x509-store = self.callHackage "crypton-x509-store" "1.8.0" { };

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Oh, geez, I feel like we just got rid of this chain last time...

Copy link
Copy Markdown
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i thought so too ;(

@jali-clarke
jali-clarke added this pull request to the merge queue Oct 1, 2026
Merged via the queue into trunk with commit ce74cca Oct 1, 2026
2 of 4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants