Skip to content

Bazel format & run-linters.sh use different versions of linters #422

@MaximilianSoerenPollak

Description

@MaximilianSoerenPollak

Issue

We currently have a 'format' via bazel and via run-linters.sh.
The later is used via the pre-commit configuration the former via the 'format' workflow.

It currently seems that they do not agree on some things, which is possible as we get the tools they use from two different places.
Bazel Format Multirun gets them from: aspect_rules_lint and buildifider_prebuild

format_multirun(
    name = "format.fix",
    python = "@aspect_rules_lint//format:ruff",
    starlark = "@buildifier_prebuilt//:buildifier",
    visibility = [
        "//visibility:public",
    ],
    yaml = "@aspect_rules_lint//format:yamlfmt",
)

While the run-linters script gets these tools from our tooling repository.

echo "Running Ruff linter..."
bazel run @score_tooling//tools:ruff check

echo "Running basedpyright..."
.venv_docs/bin/python3 -m basedpyright

echo "Running Actionlint..."
bazel run @score_tooling//tools:actionlint
...

This will now lead to issues, as pre-commit passes and then the CLI fails.

Image Image

Formatting check seen failing here => #421


Proposed solutions

Option 1:

Delete formatting workflow and ensure pre-commit is doing all the checks it does and run pre-commit in the CI/CD

Option 2:

Find out if format_multirun can be pinned to use a specific versions of the one aspect_lint & buildifier provide and sync them with the one from tooling

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    Projects

    Status

    Draft

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions