Skip to content

Lint CI job should use clippy from nix provided toolchain #1521

@nothingmuch

Description

@nothingmuch

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions