the Lint job uses nightly toolchain, but not any specific date's one, just whatever is latest.
When nightly clippy changes, this means that unrelated PRs start breaking, for example #1509 (comment)
Since the nix rust overlay and by extension the devshell doesn't move in lockstep, this means that running ./contrib/lint.sh locally can be inconsistent with CI, which is annoying
The github action could instead instead use nix build .#checks.x86_64-linux.payjoin-workspace-clippy. however, that flake check doesn't do is not exactly the same what the top level contrib/lint.sh does, instead that recursively calls payjoin/contrib/lint.sh and payjoin-ffi/contib/lint.sh which each run clippy on their own. one way to address this is to make the top level lint.sh script use nix and remove the nested ones, or just remove everything, but this potentially changes the developer workflows. another way would be to implement flake checks for linting just parts of the workspace, and invoking those from the nested lint.sh scripts. personally i'm leaning towards removing the scripts.
anyway, if the lint CI job rust toolchain defined by flake.lock would ensure that these breaks will arise during the scheduled flake.lock updates, and that fixes can be merged in those update PRs
the
Lintjob uses nightly toolchain, but not any specific date's one, just whatever is latest.When nightly clippy changes, this means that unrelated PRs start breaking, for example #1509 (comment)
Since the nix rust overlay and by extension the devshell doesn't move in lockstep, this means that running ./contrib/lint.sh locally can be inconsistent with CI, which is annoying
The github action could instead instead use
nix build .#checks.x86_64-linux.payjoin-workspace-clippy. however, that flake check doesn't do is not exactly the same what the top levelcontrib/lint.shdoes, instead that recursively callspayjoin/contrib/lint.shandpayjoin-ffi/contib/lint.shwhich each run clippy on their own. one way to address this is to make the top level lint.sh script use nix and remove the nested ones, or just remove everything, but this potentially changes the developer workflows. another way would be to implement flake checks for linting just parts of the workspace, and invoking those from the nestedlint.shscripts. personally i'm leaning towards removing the scripts.anyway, if the lint CI job rust toolchain defined by flake.lock would ensure that these breaks will arise during the scheduled flake.lock updates, and that fixes can be merged in those update PRs