ruff/crates
Fergus Longley 0eef834e89
Use project-relative path when calculating gitlab message fingerprint (#11532)
## Summary

Concurrent GitLab runners clone projects into separate directories, e.g.
`{builds_dir}/$RUNNER_TOKEN_KEY/$CONCURRENT_ID/$NAMESPACE/$PROJECT_NAME`.
Since the fingerprint uses the full path to the file, the fingerprints
calculated by Ruff are different depending on which concurrent runner it
executes on, so often an MR will appear to remove all existing issues
and add them with new fingerprints.

I've adjusted the fingerprint function to use the project relative path,
which fixes this. Unfortunately this will have a breaking change for any
current users of this output - the fingerprints will change and appear
in GitLab as all linting messages having been fixed and then created.

## Test Plan

`cargo nextest run`

Running `ruff check --output-format gitlab` in a git repo, moving the
repo and running again, verifying no diffs between the outputs
2024-05-26 14:10:04 -04:00
..
red_knot Sync vendored typeshed stubs (#11428) 2024-05-15 00:46:41 +00:00
ruff Bump version to `v0.4.5` (#11502) 2024-05-23 01:09:01 +00:00
ruff_benchmark Use `tokenize` for linter benchmark (#11417) 2024-05-14 10:28:40 -04:00
ruff_cache Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_dev Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_diagnostics Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_formatter Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_index Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_linter Use project-relative path when calculating gitlab message fingerprint (#11532) 2024-05-26 14:10:04 -04:00
ruff_macros Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_notebook `ruff server`: Support Jupyter Notebook (`*.ipynb`) files (#11206) 2024-05-21 22:29:30 +00:00
ruff_python_ast Move string-prefix enumerations to a separate submodule (#11425) 2024-05-15 07:40:27 -04:00
ruff_python_ast_integration_tests Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_python_codegen Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_python_formatter Move string-prefix enumerations to a separate submodule (#11425) 2024-05-15 07:40:27 -04:00
ruff_python_index Move `has_comments` to `CommentRanges` (#11495) 2024-05-22 13:35:16 +00:00
ruff_python_literal Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_python_parser Include soft keywords for `is_keyword` check (#11445) 2024-05-17 10:26:48 +05:30
ruff_python_resolver chore(deps): update rust crate insta to v1.38.0 (#10701) 2024-04-01 15:44:30 +00:00
ruff_python_semantic Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_python_stdlib Regenerate sys.rs with stdlibs==2024.5.15 (#11437) 2024-05-15 22:17:32 +00:00
ruff_python_trivia Move `has_comments` to `CommentRanges` (#11495) 2024-05-22 13:35:16 +00:00
ruff_python_trivia_integration_tests Add `Tokens` newtype wrapper, `TokenKind` iterator (#11361) 2024-05-14 16:45:04 +00:00
ruff_server `ruff server` correctly treats `.pyi` files as stub files (#11535) 2024-05-26 13:42:48 -04:00
ruff_source_file Move sub-crates to workspace dependencies (#11407) 2024-05-13 14:37:50 +00:00
ruff_text_size Range formatting: Fix invalid syntax after parenthesizing expression (#9751) 2024-02-02 17:56:25 +01:00
ruff_wasm Add `Tokens` newtype wrapper, `TokenKind` iterator (#11361) 2024-05-14 16:45:04 +00:00
ruff_workspace F401 - update documentation and deprecate `ignore_init_module_imports` (#11436) 2024-05-21 09:23:45 -07:00