Hi! Reporting from a downstream Bazel 8 (Aspect fork) consumer.
After PR #2394 (2026-03-25) landed the Bazel 8 core-semantics fix, the direct incompatibility at HEAD is the transitive bzlmod pins inside rules_haskell's own MODULE.bazel:
rules_sh@0.4.0 — calls get_cpu_value, removed in Bazel 8. Fixed in rules_sh@0.5.0 (2024). Just needs a version bump.
aspect_rules_js@1.34.0 — the asterius extension top-level-loads @aspect_rules_js//npm:npm_import.bzl, which aspect_rules_js@2.x removed. Either bump to 2.x and adapt or version-pin 1.x.
Both blow up at bazel mod graph time before any compilation starts, so downstream single_version_override workarounds are the only way to consume HEAD on Bazel 8 today.
For now we're patching downstream via single_version_override(rules_sh, 0.5.0) + dropping the asterius wiring entirely (we don't need WebAssembly). Happy to send a PR if useful, but logging the issue first so others can find it.
Filed by an internal monorepo (Datavant) ramp-up of rules_haskell; not blocking us, just blocking our patches from going away.
Hi! Reporting from a downstream Bazel 8 (Aspect fork) consumer.
After PR #2394 (2026-03-25) landed the Bazel 8 core-semantics fix, the direct incompatibility at HEAD is the transitive bzlmod pins inside
rules_haskell's ownMODULE.bazel:rules_sh@0.4.0— callsget_cpu_value, removed in Bazel 8. Fixed inrules_sh@0.5.0(2024). Just needs a version bump.aspect_rules_js@1.34.0— the asterius extension top-level-loads@aspect_rules_js//npm:npm_import.bzl, whichaspect_rules_js@2.xremoved. Either bump to 2.x and adapt or version-pin 1.x.Both blow up at
bazel mod graphtime before any compilation starts, so downstreamsingle_version_overrideworkarounds are the only way to consume HEAD on Bazel 8 today.For now we're patching downstream via
single_version_override(rules_sh, 0.5.0)+ dropping the asterius wiring entirely (we don't need WebAssembly). Happy to send a PR if useful, but logging the issue first so others can find it.Filed by an internal monorepo (Datavant) ramp-up of
rules_haskell; not blocking us, just blocking our patches from going away.