From 2d406d041fa2cb091395b0fa488fa0305e5c4d67 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 22 Apr 2026 06:00:31 +0000 Subject: [PATCH 01/20] ci: update to rust version of flint Signed-off-by: Gregor Zeitlinger --- .github/config/flint.toml | 2 ++ .github/workflows/reusable-link-check.yml | 4 ++-- mise.toml | 17 +++++++++++++---- 3 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 .github/config/flint.toml diff --git a/.github/config/flint.toml b/.github/config/flint.toml new file mode 100644 index 00000000000..d1d7d128746 --- /dev/null +++ b/.github/config/flint.toml @@ -0,0 +1,2 @@ +[checks.lychee] +check_all_local = true diff --git a/.github/workflows/reusable-link-check.yml b/.github/workflows/reusable-link-check.yml index 8ea87549c37..a7487c10ae1 100644 --- a/.github/workflows/reusable-link-check.yml +++ b/.github/workflows/reusable-link-check.yml @@ -22,10 +22,10 @@ jobs: GITHUB_TOKEN: ${{ github.token }} GITHUB_HEAD_SHA: ${{ github.event.pull_request.head.sha }} PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} - run: mise run lint:links + run: mise run lint - name: Link check for pushes and scheduled workflows if: github.event_name != 'pull_request' env: GITHUB_TOKEN: ${{ github.token }} - run: mise run lint:links --full + run: mise run lint diff --git a/mise.toml b/mise.toml index 11486456774..fc9b5e223ca 100644 --- a/mise.toml +++ b/mise.toml @@ -1,6 +1,11 @@ [tools] +# Linters +"github:grafana/flint" = "0.20.3" lychee = "0.23.0" +[env] +FLINT_CONFIG_DIR = ".github/config" + [settings] # Only install tools explicitly defined in the [tools] section above idiomatic_version_file_enable_tools = [] @@ -11,7 +16,11 @@ windows_executable_extensions = ["sh"] windows_default_file_shell_args = "bash" use_file_shell_for_executable_tasks = true -# Pick the tasks you need from flint (https://github.com/grafana/flint) -[tasks."lint:links"] -description = "Check for broken links in changed files + all local links" -file = "https://raw.githubusercontent.com/grafana/flint/9de186b090a2ce39486ae3b1d3e696bd2e200d6a/tasks/lint/links.sh" # v0.20.3 +[tasks.lint] +description = "Run lint checks" +raw_args = true +run = "flint run" + +[tasks."lint:fix"] +description = "Auto-fix lint issues" +run = "flint run --fix" From bdc9667f0be3060695150ab47674bc2c9a56d5aa Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 22 Apr 2026 06:01:35 +0000 Subject: [PATCH 02/20] ci: preserve full link-check mode on push Signed-off-by: Gregor Zeitlinger --- .github/workflows/reusable-link-check.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/reusable-link-check.yml b/.github/workflows/reusable-link-check.yml index a7487c10ae1..b69b364e2b2 100644 --- a/.github/workflows/reusable-link-check.yml +++ b/.github/workflows/reusable-link-check.yml @@ -28,4 +28,4 @@ jobs: if: github.event_name != 'pull_request' env: GITHUB_TOKEN: ${{ github.token }} - run: mise run lint + run: mise run lint --full From 73db33decdabcaa0354d9dd4e56e1540bbab6f76 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:38:31 +0000 Subject: [PATCH 03/20] chore: update flint to 0.20.4 Signed-off-by: Gregor Zeitlinger --- .github/renovate.json5 | 1 + .github/workflows/lint.yml | 32 ++++++++++++++++++++++++++++++++ .rumdl.toml | 5 +++++ .yamllint.yml | 8 ++++++++ biome.json | 6 ++++++ mise.toml | 14 +++++++++++++- 6 files changed, 65 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/lint.yml create mode 100644 .rumdl.toml create mode 100644 .yamllint.yml create mode 100644 biome.json diff --git a/.github/renovate.json5 b/.github/renovate.json5 index f5d4cb55f25..b427a417810 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,6 +1,7 @@ { $schema: 'https://docs.renovatebot.com/renovate-schema.json', extends: [ + "github>grafana/flint#v0.20.4", 'config:best-practices', 'helpers:pinGitHubActionDigestsToSemver', ], diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 00000000000..e00a67b4f02 --- /dev/null +++ b/.github/workflows/lint.yml @@ -0,0 +1,32 @@ +name: Lint + +on: + push: + branches: [main] + pull_request: + branches: [main] + +permissions: + contents: read + +jobs: + lint: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 + with: + persist-credentials: false + fetch-depth: 0 + + - name: Setup mise + uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1 + with: + version: v2026.4.18 + sha256: 6ae2d5f0f23a2f2149bc5d9bf264fe0922a1da843f1903e453516c462b23cc1f + + - name: Lint + env: + GITHUB_TOKEN: ${{ github.token }} + GITHUB_HEAD_SHA: ${{ github.event.pull_request.head.sha }} + run: mise run lint diff --git a/.rumdl.toml b/.rumdl.toml new file mode 100644 index 00000000000..066c5b40f02 --- /dev/null +++ b/.rumdl.toml @@ -0,0 +1,5 @@ +[MD013] +enabled = true +line-length = 120 +code-blocks = false +tables = false diff --git a/.yamllint.yml b/.yamllint.yml new file mode 100644 index 00000000000..bf0a0027770 --- /dev/null +++ b/.yamllint.yml @@ -0,0 +1,8 @@ +extends: relaxed + +rules: + document-start: disable + line-length: + max: 120 + indentation: + spaces: 2 diff --git a/biome.json b/biome.json new file mode 100644 index 00000000000..4e68cbc7f6a --- /dev/null +++ b/biome.json @@ -0,0 +1,6 @@ +{ + "formatter": { + "indentStyle": "space", + "indentWidth": 2 + } +} diff --git a/mise.toml b/mise.toml index fc9b5e223ca..45a0c4b9ec8 100644 --- a/mise.toml +++ b/mise.toml @@ -1,7 +1,19 @@ [tools] + # Linters -"github:grafana/flint" = "0.20.3" +actionlint = "1.7.12" +biome = "2.4.12" +"cargo:xmloxide" = "0.4.2" +"cargo:yaml-lint" = "0.1.0" +editorconfig-checker = "3.6.1" +"github:google/google-java-format" = "1.35.0" +"github:grafana/flint" = "0.20.4" +"github:pinterest/ktlint" = "1.8.0" lychee = "0.23.0" +"pipx:codespell" = "2.4.2" +rumdl = "0.1.80" +shellcheck = "0.11.0" +shfmt = "3.13.1" [env] FLINT_CONFIG_DIR = ".github/config" From a326ae086da190d60b27582f3ecd54caae0fc0de Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:45:03 +0000 Subject: [PATCH 04/20] fix: add flint-managed linter configs Signed-off-by: Gregor Zeitlinger --- .github/config/.rumdl.toml | 5 +++++ .github/config/.yamllint.yml | 8 ++++++++ 2 files changed, 13 insertions(+) create mode 100644 .github/config/.rumdl.toml create mode 100644 .github/config/.yamllint.yml diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml new file mode 100644 index 00000000000..066c5b40f02 --- /dev/null +++ b/.github/config/.rumdl.toml @@ -0,0 +1,5 @@ +[MD013] +enabled = true +line-length = 120 +code-blocks = false +tables = false diff --git a/.github/config/.yamllint.yml b/.github/config/.yamllint.yml new file mode 100644 index 00000000000..bf0a0027770 --- /dev/null +++ b/.github/config/.yamllint.yml @@ -0,0 +1,8 @@ +extends: relaxed + +rules: + document-start: disable + line-length: + max: 120 + indentation: + spaces: 2 From 5fe17c2d68d499d98ff3d6aea2dcec19a3038c46 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:48:23 +0000 Subject: [PATCH 05/20] fix: finish rust-native formatter cutover Signed-off-by: Gregor Zeitlinger --- .github/config/.yamllint.yml | 6 ++---- .yamllint.yml | 6 ++---- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/.github/config/.yamllint.yml b/.github/config/.yamllint.yml index bf0a0027770..5a46209b134 100644 --- a/.github/config/.yamllint.yml +++ b/.github/config/.yamllint.yml @@ -2,7 +2,5 @@ extends: relaxed rules: document-start: disable - line-length: - max: 120 - indentation: - spaces: 2 + line-length: disable + indentation: warning diff --git a/.yamllint.yml b/.yamllint.yml index bf0a0027770..5a46209b134 100644 --- a/.yamllint.yml +++ b/.yamllint.yml @@ -2,7 +2,5 @@ extends: relaxed rules: document-start: disable - line-length: - max: 120 - indentation: - spaces: 2 + line-length: disable + indentation: warning From 1b45cbcecc37e84f0c096f532fff09dbd03a4e86 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:55:57 +0000 Subject: [PATCH 06/20] chore: keep flint config under config dir Signed-off-by: Gregor Zeitlinger --- .rumdl.toml | 5 ----- .yamllint.yml | 6 ------ 2 files changed, 11 deletions(-) delete mode 100644 .rumdl.toml delete mode 100644 .yamllint.yml diff --git a/.rumdl.toml b/.rumdl.toml deleted file mode 100644 index 066c5b40f02..00000000000 --- a/.rumdl.toml +++ /dev/null @@ -1,5 +0,0 @@ -[MD013] -enabled = true -line-length = 120 -code-blocks = false -tables = false diff --git a/.yamllint.yml b/.yamllint.yml deleted file mode 100644 index 5a46209b134..00000000000 --- a/.yamllint.yml +++ /dev/null @@ -1,6 +0,0 @@ -extends: relaxed - -rules: - document-start: disable - line-length: disable - indentation: warning From b83c4268756ca7fb92672ca159cd3f12101ee3ee Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Sun, 26 Apr 2026 10:30:25 +0000 Subject: [PATCH 07/20] ci: keep flint rollout scoped to lychee Signed-off-by: Gregor Zeitlinger --- .github/config/flint.toml | 3 +++ mise.toml | 22 ++-------------------- 2 files changed, 5 insertions(+), 20 deletions(-) diff --git a/.github/config/flint.toml b/.github/config/flint.toml index d1d7d128746..ace835e01f0 100644 --- a/.github/config/flint.toml +++ b/.github/config/flint.toml @@ -1,2 +1,5 @@ [checks.lychee] check_all_local = true + +[settings] +setup_migration_version = 2 diff --git a/mise.toml b/mise.toml index 45a0c4b9ec8..63684e80bbf 100644 --- a/mise.toml +++ b/mise.toml @@ -1,22 +1,8 @@ [tools] # Linters -actionlint = "1.7.12" -biome = "2.4.12" -"cargo:xmloxide" = "0.4.2" -"cargo:yaml-lint" = "0.1.0" -editorconfig-checker = "3.6.1" -"github:google/google-java-format" = "1.35.0" "github:grafana/flint" = "0.20.4" -"github:pinterest/ktlint" = "1.8.0" lychee = "0.23.0" -"pipx:codespell" = "2.4.2" -rumdl = "0.1.80" -shellcheck = "0.11.0" -shfmt = "3.13.1" - -[env] -FLINT_CONFIG_DIR = ".github/config" [settings] # Only install tools explicitly defined in the [tools] section above @@ -29,10 +15,6 @@ windows_default_file_shell_args = "bash" use_file_shell_for_executable_tasks = true [tasks.lint] -description = "Run lint checks" +description = "Run link checks" raw_args = true -run = "flint run" - -[tasks."lint:fix"] -description = "Auto-fix lint issues" -run = "flint run --fix" +run = "flint run lychee" From 0e7ff12d6838a56742ba3e973fff473332d1ad44 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 12:51:55 +0000 Subject: [PATCH 08/20] chore: update flint to v0.21.0 Signed-off-by: Gregor Zeitlinger --- .editorconfig | 6 ++++++ .github/config/.taplo.toml | 3 +++ .github/renovate.json5 | 2 +- biome.json => biome.jsonc | 0 mise.toml | 19 +++++++++++++++++++ 5 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 .github/config/.taplo.toml rename biome.json => biome.jsonc (100%) diff --git a/.editorconfig b/.editorconfig index 3e9889f6c8b..5a9d7719952 100644 --- a/.editorconfig +++ b/.editorconfig @@ -260,6 +260,8 @@ ij_java_wrap_comments = false ij_java_wrap_first_method_in_call_chain = false ij_java_wrap_long_lines = false +# Java line length is handled by google-java-format +max_line_length = off [*.proto] ij_continuation_indent_size = 2 ij_proto_keep_indents_on_empty_lines = false @@ -761,3 +763,7 @@ ij_properties_spaces_around_key_value_delimiter = false [{*.yaml, *.yml}] ij_yaml_keep_indents_on_empty_lines = false ij_yaml_keep_line_breaks = true + +[*.md] +# Markdown line length is handled by rumdl +max_line_length = off diff --git a/.github/config/.taplo.toml b/.github/config/.taplo.toml new file mode 100644 index 00000000000..91983407cd5 --- /dev/null +++ b/.github/config/.taplo.toml @@ -0,0 +1,3 @@ +[formatting] +column_width = 120 +indent_string = " " diff --git a/.github/renovate.json5 b/.github/renovate.json5 index b427a417810..3e7ed410713 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,7 +1,7 @@ { $schema: 'https://docs.renovatebot.com/renovate-schema.json', extends: [ - "github>grafana/flint#v0.20.4", + "github>grafana/flint#v0.21.0", 'config:best-practices', 'helpers:pinGitHubActionDigestsToSemver', ], diff --git a/biome.json b/biome.jsonc similarity index 100% rename from biome.json rename to biome.jsonc diff --git a/mise.toml b/mise.toml index 63684e80bbf..67204fef0e8 100644 --- a/mise.toml +++ b/mise.toml @@ -1,8 +1,20 @@ [tools] # Linters +actionlint = "1.7.12" +"aqua:owenlamont/ryl" = "0.7.0" +biome = "2.4.13" +editorconfig-checker = "3.6.1" +"github:google/google-java-format" = "1.35.0" "github:grafana/flint" = "0.20.4" +"github:jonwiggins/xmloxide" = "0.4.2" +"github:koalaman/shellcheck" = "0.11.0" +ktlint = "1.8.0" lychee = "0.23.0" +"pipx:codespell" = "2.4.2" +rumdl = "0.1.83" +shfmt = "3.13.1" +taplo = "0.10.0" [settings] # Only install tools explicitly defined in the [tools] section above @@ -18,3 +30,10 @@ use_file_shell_for_executable_tasks = true description = "Run link checks" raw_args = true run = "flint run lychee" + +[tasks."lint:fix"] +description = "Auto-fix lint issues" +run = "flint run --fix" + +[env] +FLINT_CONFIG_DIR = ".github/config" From 4ee396db777c41758ee609347069db5456ed27ee Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 16:02:39 +0000 Subject: [PATCH 09/20] chore: clarify yamllint ownership Signed-off-by: Gregor Zeitlinger --- .github/config/.yamllint.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/config/.yamllint.yml b/.github/config/.yamllint.yml index 5a46209b134..483f3d4bf10 100644 --- a/.github/config/.yamllint.yml +++ b/.github/config/.yamllint.yml @@ -2,5 +2,7 @@ extends: relaxed rules: document-start: disable + # Line length is owned by the repo's root .editorconfig. line-length: disable - indentation: warning + # Keep indentation checks in yamllint so YAML structure issues still fail lint. + indentation: enable From 526d8ee2e3bb38330abc4a0194dd5bc723f81916 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:32:16 +0000 Subject: [PATCH 10/20] ci: keep lint in existing workflow Signed-off-by: Gregor Zeitlinger --- .github/workflows/lint.yml | 32 -------------------------------- 1 file changed, 32 deletions(-) delete mode 100644 .github/workflows/lint.yml diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index e00a67b4f02..00000000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,32 +0,0 @@ -name: Lint - -on: - push: - branches: [main] - pull_request: - branches: [main] - -permissions: - contents: read - -jobs: - lint: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - with: - persist-credentials: false - fetch-depth: 0 - - - name: Setup mise - uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1 - with: - version: v2026.4.18 - sha256: 6ae2d5f0f23a2f2149bc5d9bf264fe0922a1da843f1903e453516c462b23cc1f - - - name: Lint - env: - GITHUB_TOKEN: ${{ github.token }} - GITHUB_HEAD_SHA: ${{ github.event.pull_request.head.sha }} - run: mise run lint From a5d5e832c11ccebedc691f78df941180669fb126 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:36:33 +0000 Subject: [PATCH 11/20] chore: rely on flint renovate preset Signed-off-by: Gregor Zeitlinger --- .github/renovate.json5 | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index 3e7ed410713..f3396acbabe 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -145,17 +145,6 @@ }, ], customManagers: [ - { - // keep SHA-pinned raw.githubusercontent.com URLs in mise.toml up to date - customType: 'regex', - datasourceTemplate: 'github-tags', - managerFilePatterns: [ - '/^mise\\.toml$/', - ], - matchStrings: [ - 'https://raw\\.githubusercontent\\.com/(?[^/]+/[^/]+)/(?[a-f0-9]{40})/.*#\\s*(?v\\S+)', - ], - }, { customType: 'regex', datasourceTemplate: 'java-version', From fdbd4a7064a17487ce8d15a9ca31d2ded0308727 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:41:01 +0000 Subject: [PATCH 12/20] chore: drop legacy mise file-task settings Signed-off-by: Gregor Zeitlinger --- mise.toml | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/mise.toml b/mise.toml index 67204fef0e8..5114a64ff39 100644 --- a/mise.toml +++ b/mise.toml @@ -16,16 +16,6 @@ rumdl = "0.1.83" shfmt = "3.13.1" taplo = "0.10.0" -[settings] -# Only install tools explicitly defined in the [tools] section above -idiomatic_version_file_enable_tools = [] - -# Windows configuration for file-based tasks -# Based on: https://github.com/jdx/mise/discussions/4461 -windows_executable_extensions = ["sh"] -windows_default_file_shell_args = "bash" -use_file_shell_for_executable_tasks = true - [tasks.lint] description = "Run link checks" raw_args = true From 06e442bef1472ba2205386399cc81f7bac56cdf9 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:47:35 +0000 Subject: [PATCH 13/20] chore: keep first-round otel tools minimal Signed-off-by: Gregor Zeitlinger --- mise.toml | 16 +--------------- 1 file changed, 1 insertion(+), 15 deletions(-) diff --git a/mise.toml b/mise.toml index 5114a64ff39..b2473175924 100644 --- a/mise.toml +++ b/mise.toml @@ -1,20 +1,6 @@ [tools] - -# Linters -actionlint = "1.7.12" -"aqua:owenlamont/ryl" = "0.7.0" -biome = "2.4.13" -editorconfig-checker = "3.6.1" -"github:google/google-java-format" = "1.35.0" -"github:grafana/flint" = "0.20.4" -"github:jonwiggins/xmloxide" = "0.4.2" -"github:koalaman/shellcheck" = "0.11.0" -ktlint = "1.8.0" +"github:grafana/flint" = "0.21.0" lychee = "0.23.0" -"pipx:codespell" = "2.4.2" -rumdl = "0.1.83" -shfmt = "3.13.1" -taplo = "0.10.0" [tasks.lint] description = "Run link checks" From 0099ae117a2b50edc18bf485d2b45c5006b8c967 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:51:27 +0000 Subject: [PATCH 14/20] chore: keep first-round otel config minimal Signed-off-by: Gregor Zeitlinger --- .github/config/.rumdl.toml | 5 ----- .github/config/.taplo.toml | 3 --- .github/config/.yamllint.yml | 8 -------- 3 files changed, 16 deletions(-) delete mode 100644 .github/config/.rumdl.toml delete mode 100644 .github/config/.taplo.toml delete mode 100644 .github/config/.yamllint.yml diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml deleted file mode 100644 index 066c5b40f02..00000000000 --- a/.github/config/.rumdl.toml +++ /dev/null @@ -1,5 +0,0 @@ -[MD013] -enabled = true -line-length = 120 -code-blocks = false -tables = false diff --git a/.github/config/.taplo.toml b/.github/config/.taplo.toml deleted file mode 100644 index 91983407cd5..00000000000 --- a/.github/config/.taplo.toml +++ /dev/null @@ -1,3 +0,0 @@ -[formatting] -column_width = 120 -indent_string = " " diff --git a/.github/config/.yamllint.yml b/.github/config/.yamllint.yml deleted file mode 100644 index 483f3d4bf10..00000000000 --- a/.github/config/.yamllint.yml +++ /dev/null @@ -1,8 +0,0 @@ -extends: relaxed - -rules: - document-start: disable - # Line length is owned by the repo's root .editorconfig. - line-length: disable - # Keep indentation checks in yamllint so YAML structure issues still fail lint. - indentation: enable From a28dfa598d8a7b4a61388a7c21151fe148a261be Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 18:42:26 +0000 Subject: [PATCH 15/20] ci: pass current flint GitHub env vars Signed-off-by: Gregor Zeitlinger --- .github/workflows/reusable-link-check.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-link-check.yml b/.github/workflows/reusable-link-check.yml index b69b364e2b2..0d471941c8c 100644 --- a/.github/workflows/reusable-link-check.yml +++ b/.github/workflows/reusable-link-check.yml @@ -20,7 +20,9 @@ jobs: if: github.event_name == 'pull_request' env: GITHUB_TOKEN: ${{ github.token }} - GITHUB_HEAD_SHA: ${{ github.event.pull_request.head.sha }} + GITHUB_REPOSITORY: ${{ github.repository }} + GITHUB_BASE_REF: ${{ github.base_ref }} + GITHUB_HEAD_REF: ${{ github.head_ref }} PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} run: mise run lint From 97785f9ed62d21323fe4beeeba06cf89d291cc18 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:02:22 +0000 Subject: [PATCH 16/20] chore: rely on flint task defaults Signed-off-by: Gregor Zeitlinger --- mise.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mise.toml b/mise.toml index b2473175924..22bb9779876 100644 --- a/mise.toml +++ b/mise.toml @@ -5,7 +5,7 @@ lychee = "0.23.0" [tasks.lint] description = "Run link checks" raw_args = true -run = "flint run lychee" +run = "flint run" [tasks."lint:fix"] description = "Auto-fix lint issues" From a3dab3c820338f754094747967a762f00e46d5b7 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 08:26:09 +0000 Subject: [PATCH 17/20] ci: rename lint workflow Signed-off-by: Gregor Zeitlinger --- .github/workflows/build-daily.yml | 8 ++++---- .github/workflows/build.yml | 6 +++--- .../{reusable-link-check.yml => reusable-lint-check.yml} | 8 ++++---- mise.toml | 2 ++ 4 files changed, 13 insertions(+), 11 deletions(-) rename .github/workflows/{reusable-link-check.yml => reusable-lint-check.yml} (85%) diff --git a/.github/workflows/build-daily.yml b/.github/workflows/build-daily.yml index f24f0546ab1..aa48dcc267c 100644 --- a/.github/workflows/build-daily.yml +++ b/.github/workflows/build-daily.yml @@ -10,8 +10,8 @@ permissions: contents: read jobs: - link-check: - uses: ./.github/workflows/reusable-link-check.yml + lint: + uses: ./.github/workflows/reusable-lint-check.yml publish-snapshots: runs-on: ubuntu-24.04 @@ -42,13 +42,13 @@ jobs: contents: read issues: write needs: - - link-check + - lint - publish-snapshots if: always() uses: ./.github/workflows/reusable-workflow-notification.yml with: success: >- ${{ - needs.link-check.result == 'success' && + needs.lint.result == 'success' && needs.publish-snapshots.result == 'success' }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 46d9c480523..175c99fa616 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,10 +99,10 @@ jobs: name: coverage-report path: all/build/reports/jacoco/test/html - markdown-link-check: + lint: # release branches are excluded to avoid unnecessary maintenance if: ${{ !startsWith(github.ref_name, 'release/') }} - uses: ./.github/workflows/reusable-link-check.yml + uses: ./.github/workflows/reusable-lint-check.yml build-graal: name: Build GraalVM @@ -132,7 +132,7 @@ jobs: DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} required-status-check: - # markdown-link-check is not required so pull requests are not blocked if external links break + # lint is not required so pull requests are not blocked if external links break needs: - build - build-graal diff --git a/.github/workflows/reusable-link-check.yml b/.github/workflows/reusable-lint-check.yml similarity index 85% rename from .github/workflows/reusable-link-check.yml rename to .github/workflows/reusable-lint-check.yml index 0d471941c8c..11e5eaff607 100644 --- a/.github/workflows/reusable-link-check.yml +++ b/.github/workflows/reusable-lint-check.yml @@ -1,4 +1,4 @@ -name: Reusable - Link check +name: Reusable - Lint check on: workflow_call: @@ -7,7 +7,7 @@ permissions: contents: read jobs: - link-check: + lint-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -16,7 +16,7 @@ jobs: - uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1 - - name: Link check for pull requests + - name: Lint for pull requests if: github.event_name == 'pull_request' env: GITHUB_TOKEN: ${{ github.token }} @@ -26,7 +26,7 @@ jobs: PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} run: mise run lint - - name: Link check for pushes and scheduled workflows + - name: Lint for pushes and scheduled workflows if: github.event_name != 'pull_request' env: GITHUB_TOKEN: ${{ github.token }} diff --git a/mise.toml b/mise.toml index 22bb9779876..bc5aaf887f1 100644 --- a/mise.toml +++ b/mise.toml @@ -1,4 +1,6 @@ [tools] + +# Linters "github:grafana/flint" = "0.21.0" lychee = "0.23.0" From 803ff576deb68a8da476f9dfae29371fe0408508 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 29 Apr 2026 12:21:12 +0000 Subject: [PATCH 18/20] chore: drop unrelated formatter config Signed-off-by: Gregor Zeitlinger --- .editorconfig | 6 ------ biome.jsonc | 6 ------ 2 files changed, 12 deletions(-) delete mode 100644 biome.jsonc diff --git a/.editorconfig b/.editorconfig index 5a9d7719952..3e9889f6c8b 100644 --- a/.editorconfig +++ b/.editorconfig @@ -260,8 +260,6 @@ ij_java_wrap_comments = false ij_java_wrap_first_method_in_call_chain = false ij_java_wrap_long_lines = false -# Java line length is handled by google-java-format -max_line_length = off [*.proto] ij_continuation_indent_size = 2 ij_proto_keep_indents_on_empty_lines = false @@ -763,7 +761,3 @@ ij_properties_spaces_around_key_value_delimiter = false [{*.yaml, *.yml}] ij_yaml_keep_indents_on_empty_lines = false ij_yaml_keep_line_breaks = true - -[*.md] -# Markdown line length is handled by rumdl -max_line_length = off diff --git a/biome.jsonc b/biome.jsonc deleted file mode 100644 index 4e68cbc7f6a..00000000000 --- a/biome.jsonc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "formatter": { - "indentStyle": "space", - "indentWidth": 2 - } -} From 950fb89a4c3e048b33a72b58e7667f504a7bf3c1 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 30 Apr 2026 12:28:46 +0000 Subject: [PATCH 19/20] ci: keep flint scoped to link checks Signed-off-by: Gregor Zeitlinger --- .github/workflows/build-daily.yml | 8 +++---- .github/workflows/build.yml | 6 ++--- ...lint-check.yml => reusable-link-check.yml} | 12 +++++----- mise.toml | 24 ++++++++++++------- 4 files changed, 28 insertions(+), 22 deletions(-) rename .github/workflows/{reusable-lint-check.yml => reusable-link-check.yml} (78%) diff --git a/.github/workflows/build-daily.yml b/.github/workflows/build-daily.yml index aa48dcc267c..f24f0546ab1 100644 --- a/.github/workflows/build-daily.yml +++ b/.github/workflows/build-daily.yml @@ -10,8 +10,8 @@ permissions: contents: read jobs: - lint: - uses: ./.github/workflows/reusable-lint-check.yml + link-check: + uses: ./.github/workflows/reusable-link-check.yml publish-snapshots: runs-on: ubuntu-24.04 @@ -42,13 +42,13 @@ jobs: contents: read issues: write needs: - - lint + - link-check - publish-snapshots if: always() uses: ./.github/workflows/reusable-workflow-notification.yml with: success: >- ${{ - needs.lint.result == 'success' && + needs.link-check.result == 'success' && needs.publish-snapshots.result == 'success' }} diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index c78ff0af2d1..377cfd1c78c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -99,10 +99,10 @@ jobs: name: coverage-report path: all/build/reports/jacoco/test/html - lint: + markdown-link-check: # release branches are excluded to avoid unnecessary maintenance if: ${{ !startsWith(github.ref_name, 'release/') }} - uses: ./.github/workflows/reusable-lint-check.yml + uses: ./.github/workflows/reusable-link-check.yml build-graal: name: Build GraalVM @@ -136,7 +136,7 @@ jobs: DEVELOCITY_ACCESS_KEY: ${{ secrets.DEVELOCITY_ACCESS_KEY }} required-status-check: - # lint is not required so pull requests are not blocked if external links break + # markdown-link-check is not required so pull requests are not blocked if external links break needs: - build - build-graal diff --git a/.github/workflows/reusable-lint-check.yml b/.github/workflows/reusable-link-check.yml similarity index 78% rename from .github/workflows/reusable-lint-check.yml rename to .github/workflows/reusable-link-check.yml index 11e5eaff607..211aaf2e298 100644 --- a/.github/workflows/reusable-lint-check.yml +++ b/.github/workflows/reusable-link-check.yml @@ -1,4 +1,4 @@ -name: Reusable - Lint check +name: Reusable - Link check on: workflow_call: @@ -7,7 +7,7 @@ permissions: contents: read jobs: - lint-check: + link-check: runs-on: ubuntu-latest steps: - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 @@ -16,7 +16,7 @@ jobs: - uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1 - - name: Lint for pull requests + - name: Link check for pull requests if: github.event_name == 'pull_request' env: GITHUB_TOKEN: ${{ github.token }} @@ -24,10 +24,10 @@ jobs: GITHUB_BASE_REF: ${{ github.base_ref }} GITHUB_HEAD_REF: ${{ github.head_ref }} PR_HEAD_REPO: ${{ github.event.pull_request.head.repo.full_name }} - run: mise run lint + run: mise run lint:links - - name: Lint for pushes and scheduled workflows + - name: Link check for pushes and scheduled workflows if: github.event_name != 'pull_request' env: GITHUB_TOKEN: ${{ github.token }} - run: mise run lint --full + run: mise run lint:links --full diff --git a/mise.toml b/mise.toml index bc5aaf887f1..4f5ca1ac9be 100644 --- a/mise.toml +++ b/mise.toml @@ -4,14 +4,20 @@ "github:grafana/flint" = "0.21.0" lychee = "0.23.0" -[tasks.lint] -description = "Run link checks" -raw_args = true -run = "flint run" - -[tasks."lint:fix"] -description = "Auto-fix lint issues" -run = "flint run --fix" - [env] FLINT_CONFIG_DIR = ".github/config" + +[settings] +# Only install tools explicitly defined in the [tools] section above +idiomatic_version_file_enable_tools = [] + +# Windows configuration for file-based tasks +# Based on: https://github.com/jdx/mise/discussions/4461 +windows_executable_extensions = ["sh"] +windows_default_file_shell_args = "bash" +use_file_shell_for_executable_tasks = true + +[tasks."lint:links"] +description = "Check for broken links in changed files + all local links" +raw_args = true +run = "flint run" From b70dff9e58183530f9e9002d7797398baae6513c Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 30 Apr 2026 12:30:39 +0000 Subject: [PATCH 20/20] ci: drop flint renovate follow-up Signed-off-by: Gregor Zeitlinger --- .github/renovate.json5 | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/.github/renovate.json5 b/.github/renovate.json5 index f3396acbabe..f5d4cb55f25 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -1,7 +1,6 @@ { $schema: 'https://docs.renovatebot.com/renovate-schema.json', extends: [ - "github>grafana/flint#v0.21.0", 'config:best-practices', 'helpers:pinGitHubActionDigestsToSemver', ], @@ -145,6 +144,17 @@ }, ], customManagers: [ + { + // keep SHA-pinned raw.githubusercontent.com URLs in mise.toml up to date + customType: 'regex', + datasourceTemplate: 'github-tags', + managerFilePatterns: [ + '/^mise\\.toml$/', + ], + matchStrings: [ + 'https://raw\\.githubusercontent\\.com/(?[^/]+/[^/]+)/(?[a-f0-9]{40})/.*#\\s*(?v\\S+)', + ], + }, { customType: 'regex', datasourceTemplate: 'java-version',