Skip to content

Add dev shell flake and justfile for local checks#23

Merged
amackillop merged 1 commit into
lsp-0.2.0from
austin_add-flake
Jun 9, 2026
Merged

Add dev shell flake and justfile for local checks#23
amackillop merged 1 commit into
lsp-0.2.0from
austin_add-flake

Conversation

@amackillop

Copy link
Copy Markdown

Introduce a Nix dev shell and a justfile so work on this fork has a reproducible toolchain and a one-command local gate, mirroring the setup in the ldk-node repo.

The toolchain is pinned to stable 1.90.0 via fenix rather than tracking latest. The version is bounded on both ends: clippy must be at least 1.87 so ci/check-lint.sh can resolve the lint names it allows (older clippy hard-errors on the unknown clippy::manual_is_multiple_of), but 1.92+ adds clippy::assertions_on_constants which fires on existing code in lightning/src/chain/channelmonitor.rs and would break -D warnings on the inherited tree. 1.90.0 sits in that window and matches what CI's stable resolves to today. fenix is used over rust-overlay because it pins an exact channel by hash, so the shell can't drift.

just check only compiles and runs the workspace test suite. It deliberately skips clippy and rustfmt: this branch is not clean under either of CI's gates (pre-existing dead code in lsps2/lsps4 trips check-lint.sh's -D warnings, and the tree predates the pinned rustfmt), and reformatting or de-linting code we don't own is out of scope.

Introduce a Nix dev shell and a justfile so work on this fork has a
reproducible toolchain and a one-command local gate, mirroring the setup
in the ldk-node repo.

The toolchain is pinned to stable 1.90.0 via fenix rather than tracking
latest. The version is bounded on both ends: clippy must be at least
1.87 so ci/check-lint.sh can resolve the lint names it allows (older
clippy hard-errors on the unknown clippy::manual_is_multiple_of), but
1.92+ adds clippy::assertions_on_constants which fires on existing code
in lightning/src/chain/channelmonitor.rs and would break -D warnings on
the inherited tree. 1.90.0 sits in that window and matches what CI's
stable resolves to today. fenix is used over rust-overlay because it
pins an exact channel by hash, so the shell can't drift.

just check only compiles and runs the workspace test suite. It
deliberately skips clippy and rustfmt: this branch is not clean under
either of CI's gates (pre-existing dead code in lsps2/lsps4 trips
check-lint.sh's -D warnings, and the tree predates the pinned rustfmt),
and reformatting or de-linting code we don't own is out of scope.
@amackillop amackillop requested a review from martinsaposnic June 9, 2026 18:23

@martinsaposnic martinsaposnic 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.

do we need to also land this on the branch that the client uses and not only the lsp?

@amackillop

Copy link
Copy Markdown
Author

do we need to also land this on the branch that the client uses and not only the lsp?

Yep. I think for the next upgrade we should consider a shared branch too for stuff like this

@amackillop amackillop merged commit 79235c7 into lsp-0.2.0 Jun 9, 2026
10 of 43 checks passed
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