From 4f49f0e10ef674fde11ee5da653a22ea590d295c Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 21 Apr 2026 11:44:13 +0000 Subject: [PATCH 01/39] ci: migrate link checks to flint Signed-off-by: Gregor Zeitlinger --- .github/config/flint.toml | 3 +++ mise.toml | 8 ++++++-- 2 files changed, 9 insertions(+), 2 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 000000000000..d39eb9789322 --- /dev/null +++ b/.github/config/flint.toml @@ -0,0 +1,3 @@ +[checks.lychee] +config = "lychee.toml" +check_all_local = true diff --git a/mise.toml b/mise.toml index 6334e3b5366c..95f8bf30ff24 100644 --- a/mise.toml +++ b/mise.toml @@ -1,7 +1,12 @@ [tools] +# Linters +"github:grafana/flint" = "0.20.3" lychee = "0.23.0" markdownlint-cli2 = "0.22.0" +[env] +FLINT_CONFIG_DIR = ".github/config" + [settings] # Only install tools explicitly defined in the [tools] section above idiomatic_version_file_enable_tools = [] @@ -12,7 +17,6 @@ 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/eded4cd370c729289a6de327a1a26831e10a39b9/tasks/lint/links.sh" # v0.20.2 +run = "flint run lychee" From 01f03506b2256154646b7f17cc144a4890a8940e Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 21 Apr 2026 11:55:18 +0000 Subject: [PATCH 02/39] ci: remove duplicate markdown lint wiring Signed-off-by: Gregor Zeitlinger --- .github/workflows/build-daily.yml | 11 ++++----- .github/workflows/build-pull-request.yml | 19 +++++++-------- .github/workflows/build.yml | 14 ++++------- ...link-check.yml => reusable-lint-check.yml} | 12 +++++----- .../reusable-markdown-lint-check.yml | 23 ------------------- .mise/tasks/lint/markdown.sh | 11 --------- mise.toml | 8 +++++++ 7 files changed, 32 insertions(+), 66 deletions(-) rename .github/workflows/{reusable-link-check.yml => reusable-lint-check.yml} (76%) delete mode 100644 .github/workflows/reusable-markdown-lint-check.yml delete mode 100755 .mise/tasks/lint/markdown.sh diff --git a/.github/workflows/build-daily.yml b/.github/workflows/build-daily.yml index 9ce52ac4a0e2..0de59805960a 100644 --- a/.github/workflows/build-daily.yml +++ b/.github/workflows/build-daily.yml @@ -25,11 +25,8 @@ jobs: muzzle: uses: ./.github/workflows/reusable-muzzle.yml - link-check: - uses: ./.github/workflows/reusable-link-check.yml - - markdown-lint-check: - uses: ./.github/workflows/reusable-markdown-lint-check.yml + lint: + uses: ./.github/workflows/reusable-lint-check.yml publish-snapshots: environment: protected @@ -78,7 +75,7 @@ jobs: - common - test-latest-deps - muzzle - - link-check + - lint - publish-snapshots if: always() uses: ./.github/workflows/reusable-workflow-notification.yml @@ -88,6 +85,6 @@ jobs: needs.common.result == 'success' && needs.test-latest-deps.result == 'success' && needs.muzzle.result == 'success' && - needs.link-check.result == 'success' && + needs.lint.result == 'success' && needs.publish-snapshots.result == 'success' }} diff --git a/.github/workflows/build-pull-request.yml b/.github/workflows/build-pull-request.yml index 57e6027cd045..4bd935f29d17 100644 --- a/.github/workflows/build-pull-request.yml +++ b/.github/workflows/build-pull-request.yml @@ -44,28 +44,29 @@ jobs: with: cache-read-only: true - # this is not a required check to avoid blocking pull requests if external links break - markdown-check: + lint: # release branches are excluded because the README.md javaagent download link has to be updated # on release branches before the release download has been published if: "!startsWith(github.ref_name, 'release/') && !startsWith(github.base_ref, 'release/')" - uses: ./.github/workflows/reusable-link-check.yml - - markdown-lint-check: - uses: ./.github/workflows/reusable-markdown-lint-check.yml + uses: ./.github/workflows/reusable-lint-check.yml required-status-check: needs: - common - test-latest-deps - muzzle - - markdown-lint-check + - lint runs-on: ubuntu-latest if: always() steps: - if: | needs.common.result != 'success' || needs.test-latest-deps.result != 'success' || - needs.muzzle.result != 'success' || - needs.markdown-lint-check.result != 'success' + ( + !startsWith(github.base_ref, 'release/') && + ( + needs.muzzle.result != 'success' || + needs.lint.result != 'success' + ) + ) run: exit 1 # fail diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 47261f932dc4..2d3f32b3e928 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -34,14 +34,8 @@ jobs: if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-muzzle.yml - link-check: - # release branches are excluded to avoid unnecessary maintenance if external links break - # (and also because the README.md javaagent download link has to be updated on release branches - # before the release download has been published) + lint: + # release branches are excluded because the README.md javaagent download link has to be updated + # on release branches before the release download has been published if: "!startsWith(github.ref_name, 'release/')" - uses: ./.github/workflows/reusable-link-check.yml - - markdown-lint-check: - # release branches are excluded - if: "!startsWith(github.ref_name, 'release/')" - uses: ./.github/workflows/reusable-markdown-lint-check.yml + uses: ./.github/workflows/reusable-lint-check.yml diff --git a/.github/workflows/reusable-link-check.yml b/.github/workflows/reusable-lint-check.yml similarity index 76% rename from .github/workflows/reusable-link-check.yml rename to .github/workflows/reusable-lint-check.yml index 8ea87549c37b..1bfb111aa823 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,16 +16,16 @@ 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 }} 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 + - name: Lint 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/.github/workflows/reusable-markdown-lint-check.yml b/.github/workflows/reusable-markdown-lint-check.yml deleted file mode 100644 index 5b0dec6dbe45..000000000000 --- a/.github/workflows/reusable-markdown-lint-check.yml +++ /dev/null @@ -1,23 +0,0 @@ -name: Reusable - Markdown lint check - -on: - workflow_call: - -permissions: - contents: read - -jobs: - markdown-lint-check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2 - - - uses: jdx/mise-action@1648a7812b9aeae629881980618f079932869151 # v4.0.1 - - - name: Run markdownlint - run: | - if ! mise run lint:markdown; then - echo "markdownlint failed. To auto-fix many issues locally, run:" - echo " mise run lint:markdown --fix" - exit 1 - fi diff --git a/.mise/tasks/lint/markdown.sh b/.mise/tasks/lint/markdown.sh deleted file mode 100755 index c7d41aa63e47..000000000000 --- a/.mise/tasks/lint/markdown.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/usr/bin/env bash -#MISE description="Lint markdown files" -#USAGE flag "--fix" help="Automatically fix issues" - -set -e - -if [ "${usage_fix:-false}" = "true" ]; then - markdownlint-cli2 --fix "**/*.md" "#**/build" "#CHANGELOG.md" "#licenses/licenses.md" -else - markdownlint-cli2 "**/*.md" "#**/build" "#CHANGELOG.md" "#licenses/licenses.md" -fi diff --git a/mise.toml b/mise.toml index 95f8bf30ff24..651fa944f6db 100644 --- a/mise.toml +++ b/mise.toml @@ -20,3 +20,11 @@ use_file_shell_for_executable_tasks = true [tasks."lint:links"] description = "Check for broken links in changed files + all local links" run = "flint run lychee" + +[tasks.lint] +description = "Run markdown and link linting" +run = "flint run" + +[tasks."lint:fix"] +description = "Auto-fix lint issues" +run = "flint run --fix" From 9659bda64b699a7e1d68e1d6d2dbb73180978fbc Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 21 Apr 2026 12:08:28 +0000 Subject: [PATCH 03/39] ci: rely on default lychee config location Signed-off-by: Gregor Zeitlinger --- .github/config/flint.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/config/flint.toml b/.github/config/flint.toml index d39eb9789322..d1d7d1287468 100644 --- a/.github/config/flint.toml +++ b/.github/config/flint.toml @@ -1,3 +1,2 @@ [checks.lychee] -config = "lychee.toml" check_all_local = true From 8300c01529d3a6e74ac5830a2b577d58d77d96fe Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 21 Apr 2026 12:11:43 +0000 Subject: [PATCH 04/39] ci: drop dedicated link lint task Signed-off-by: Gregor Zeitlinger --- mise.toml | 4 ---- 1 file changed, 4 deletions(-) diff --git a/mise.toml b/mise.toml index 651fa944f6db..9a01df405bda 100644 --- a/mise.toml +++ b/mise.toml @@ -17,10 +17,6 @@ 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" -run = "flint run lychee" - [tasks.lint] description = "Run markdown and link linting" run = "flint run" From f874e8a683f7ddd14717a353a1174537f9883993 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 21 Apr 2026 16:10:25 +0000 Subject: [PATCH 05/39] chore: exclude generated changelog Signed-off-by: Gregor Zeitlinger --- .github/config/flint.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/config/flint.toml b/.github/config/flint.toml index d1d7d1287468..ffd83262674c 100644 --- a/.github/config/flint.toml +++ b/.github/config/flint.toml @@ -1,2 +1,5 @@ +[settings] +exclude = ["CHANGELOG.md"] + [checks.lychee] check_all_local = true From d2f950d949d8ad760f88fdc0f86b2e54713b4c47 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:38:16 +0000 Subject: [PATCH 06/39] chore: update flint to 0.20.4 Signed-off-by: Gregor Zeitlinger --- .github/renovate.json5 | 1 + .github/workflows/lint.yml | 32 ++++++++++++++++++++++++++++++++ .markdownlint.yaml | 15 --------------- .rumdl.toml | 5 +++++ .yamllint.yml | 8 ++++++++ biome.json | 6 ++++++ mise.toml | 16 +++++++++++++++- 7 files changed, 67 insertions(+), 16 deletions(-) create mode 100644 .github/workflows/lint.yml delete mode 100644 .markdownlint.yaml 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 05e0fd0c3693..767e76d5115a 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', ':semanticCommits', diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml new file mode 100644 index 000000000000..e00a67b4f02d --- /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/.markdownlint.yaml b/.markdownlint.yaml deleted file mode 100644 index 513be90ec949..000000000000 --- a/.markdownlint.yaml +++ /dev/null @@ -1,15 +0,0 @@ -# See https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md -# and https://github.com/DavidAnson/markdownlint-cli2 - -ul-style: false -line-length: false -no-duplicate-heading: - siblings_only: true -ol-prefix: - style: ordered -no-inline-html: false -fenced-code-language: false -no-trailing-punctuation: - punctuation: ".,;:" # allowing exclamation points and question marks at end of sentences -MD059: false # disable link text should be descriptive check -MD041: false # files with YAML frontmatter don't start with a heading diff --git a/.rumdl.toml b/.rumdl.toml new file mode 100644 index 000000000000..066c5b40f022 --- /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 000000000000..bf0a00277708 --- /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 000000000000..4e68cbc7f6a5 --- /dev/null +++ b/biome.json @@ -0,0 +1,6 @@ +{ + "formatter": { + "indentStyle": "space", + "indentWidth": 2 + } +} diff --git a/mise.toml b/mise.toml index 9a01df405bda..0fd4daf093b8 100644 --- a/mise.toml +++ b/mise.toml @@ -1,8 +1,22 @@ [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" +hadolint = "2.14.0" lychee = "0.23.0" markdownlint-cli2 = "0.22.0" +"pipx:codespell" = "2.4.2" +"pipx:ruff" = "0.15.11" +rumdl = "0.1.80" +shellcheck = "0.11.0" +shfmt = "3.13.1" [env] FLINT_CONFIG_DIR = ".github/config" From 5e1ae56b2efdb51a248fb6ea45784aa87b61a8ab Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:43:07 +0000 Subject: [PATCH 07/39] fix: remove legacy markdownlint tool pin Signed-off-by: Gregor Zeitlinger --- mise.toml | 1 - 1 file changed, 1 deletion(-) diff --git a/mise.toml b/mise.toml index 0fd4daf093b8..47104e25d16a 100644 --- a/mise.toml +++ b/mise.toml @@ -11,7 +11,6 @@ editorconfig-checker = "3.6.1" "github:pinterest/ktlint" = "1.8.0" hadolint = "2.14.0" lychee = "0.23.0" -markdownlint-cli2 = "0.22.0" "pipx:codespell" = "2.4.2" "pipx:ruff" = "0.15.11" rumdl = "0.1.80" From f4c2f1641226c9ef52ef4218d7339037c87056f9 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:44:58 +0000 Subject: [PATCH 08/39] 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 000000000000..066c5b40f022 --- /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 000000000000..bf0a00277708 --- /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 afb76d620b163e2aa9875a5c285c400020d28786 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:48:19 +0000 Subject: [PATCH 09/39] 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 bf0a00277708..5a46209b1345 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 bf0a00277708..5a46209b1345 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 2df9d4672211129653bf26264670af67a945e0f0 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Thu, 23 Apr 2026 16:55:53 +0000 Subject: [PATCH 10/39] 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 066c5b40f022..000000000000 --- 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 5a46209b1345..000000000000 --- a/.yamllint.yml +++ /dev/null @@ -1,6 +0,0 @@ -extends: relaxed - -rules: - document-start: disable - line-length: disable - indentation: warning From fc35d8d4d5ca249f3c94f0918a88566ad1f7ed15 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Sun, 26 Apr 2026 11:12:01 +0000 Subject: [PATCH 11/39] ci: preserve markdown and link linting in flint rollout Signed-off-by: Gregor Zeitlinger --- .github/agents/code-review-and-fix.agent.md | 42 +++++++++---------- .github/config/.rumdl.toml | 16 ++++--- .github/config/flint.toml | 1 + .github/prompts/fix-pr-ci-failures.md | 3 +- .../documenting-instrumentation.md | 1 + instrumentation-docs/readme.md | 2 +- .../apache-httpclient-5.2/library/README.md | 2 +- .../aws-lambda-core-1.0/library/README.md | 2 +- instrumentation/c3p0-0.9/library/README.md | 2 +- .../graphql-java-12.0/library/README.md | 2 +- .../graphql-java-20.0/library/README.md | 2 +- instrumentation/grpc-1.6/library/README.md | 2 +- .../hikaricp-3.0/library/README.md | 2 +- .../java-http-client/library/README.md | 2 +- .../java-http-server/library/README.md | 2 +- instrumentation/jdbc/library/README.md | 2 +- .../kafka-clients-2.6/library/README.md | 2 +- .../ktor/ktor-1.0/library/README.md | 2 +- .../ktor/ktor-2.0/library/README.md | 2 +- .../ktor/ktor-3.0/library/README.md | 2 +- .../log4j-appender-2.17/library/README.md | 2 +- .../library-autoconfigure/README.md | 2 +- .../logback-appender-1.0/library/README.md | 2 +- .../logback/logback-mdc-1.0/library/README.md | 2 +- .../micrometer-1.5/library/README.md | 2 +- .../okhttp/okhttp-3.0/library/README.md | 2 +- .../openai/openai-java-1.1/library/README.md | 2 +- .../oracle-ucp-11.2/library/README.md | 2 +- instrumentation/r2dbc-1.0/library/README.md | 2 +- .../rocketmq-client-4.8/library/README.md | 2 +- .../spring-web-3.1/library/README.md | 2 +- .../spring-webmvc-5.3/library/README.md | 2 +- .../spring-webmvc-6.0/library/README.md | 2 +- .../vibur-dbcp-11.0/library/README.md | 2 +- licenses/licenses.md | 1 + mise.toml | 16 +------ 36 files changed, 68 insertions(+), 70 deletions(-) diff --git a/.github/agents/code-review-and-fix.agent.md b/.github/agents/code-review-and-fix.agent.md index e0c34dc20d80..885a7be002ea 100644 --- a/.github/agents/code-review-and-fix.agent.md +++ b/.github/agents/code-review-and-fix.agent.md @@ -178,27 +178,27 @@ Auto-fix boundaries: but absent from the current module's check (or vice versa) reveal a version boundary — the class was likely added or removed between versions. Then determine the comment form for each class: - **Positive floor class** (proves "at least version X"): look up when the class was - **introduced** → comment `// added in X.Y`. - **Positive ceiling class** (proves "not yet version Y"): look up when the class was - **removed** → comment `// removed in Y.Z` (meaning: its presence here ensures we - don't match version Y.Z+ where a different module takes over). - **Negated exclusion class** in `not(hasClassesNamed(...))`: look up when the class was - **introduced** → comment `// added in Y.Z`, because that first appearance begins the - excluded version range. - **Single positive class that provides both bounds**: include both facts in one comment, - e.g. `// added in X.Y, removed in Y.Z`. - A ceiling class might have been *introduced* much earlier than the module's target version. - Do not use `// added in` for a positive ceiling class — that is misleading. The relevant - fact is when it was **removed**. But for a negated exclusion class, `// added in` is the - correct form because the class's introduction is exactly what starts excluding newer versions. - Validate the version in the comment before adding or requesting it. Do not guess the - version from the module name alone; confirm it with repository or upstream evidence. - Sources: muzzle `versions.set(...)` ranges, sibling module `classLoaderMatcher()` checks, - module directory names, existing code comments, Javadoc/release notes. - Do NOT add a `classLoaderMatcher()` override where one does not already exist — - this method is only for version-boundary detection when muzzle is insufficient, - not for optimization (use `TypeInstrumentation.classLoaderOptimization()` instead) + **Positive floor class** (proves "at least version X"): look up when the class was + **introduced** → comment `// added in X.Y`. + **Positive ceiling class** (proves "not yet version Y"): look up when the class was + **removed** → comment `// removed in Y.Z` (meaning: its presence here ensures we + don't match version Y.Z+ where a different module takes over). + **Negated exclusion class** in `not(hasClassesNamed(...))`: look up when the class was + **introduced** → comment `// added in Y.Z`, because that first appearance begins the + excluded version range. + **Single positive class that provides both bounds**: include both facts in one comment, + e.g. `// added in X.Y, removed in Y.Z`. + A ceiling class might have been *introduced* much earlier than the module's target version. + Do not use `// added in` for a positive ceiling class — that is misleading. The relevant + fact is when it was **removed**. But for a negated exclusion class, `// added in` is the + correct form because the class's introduction is exactly what starts excluding newer versions. + Validate the version in the comment before adding or requesting it. Do not guess the + version from the module name alone; confirm it with repository or upstream evidence. + Sources: muzzle `versions.set(...)` ranges, sibling module `classLoaderMatcher()` checks, + module directory names, existing code comments, Javadoc/release notes. + Do NOT add a `classLoaderMatcher()` override where one does not already exist — + this method is only for version-boundary detection when muzzle is insufficient, + not for optimization (use `TypeInstrumentation.classLoaderOptimization()` instead) - redundant `isMethod()` in method matchers inside `transform()` when the matcher already names a specific, non-empty method (e.g., `isMethod().and(named("execute"))` → `named("execute")`). Do not remove `isMethod()` when the name could be empty — diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml index 066c5b40f022..2c863171d084 100644 --- a/.github/config/.rumdl.toml +++ b/.github/config/.rumdl.toml @@ -1,5 +1,11 @@ -[MD013] -enabled = true -line-length = 120 -code-blocks = false -tables = false +[global] +disable = ["MD059", "line-length", "no-inline-html", "MD041", "ul-style", "fenced-code-language"] + +[no-duplicate-heading] +siblings-only = true + +[no-trailing-punctuation] +punctuation = ".,;:" + +[ol-prefix] +style = "ordered" diff --git a/.github/config/flint.toml b/.github/config/flint.toml index ffd83262674c..cc695397597a 100644 --- a/.github/config/flint.toml +++ b/.github/config/flint.toml @@ -1,5 +1,6 @@ [settings] exclude = ["CHANGELOG.md"] +setup_migration_version = 2 [checks.lychee] check_all_local = true diff --git a/.github/prompts/fix-pr-ci-failures.md b/.github/prompts/fix-pr-ci-failures.md index 1a3f39dabf66..f54f0944074b 100644 --- a/.github/prompts/fix-pr-ci-failures.md +++ b/.github/prompts/fix-pr-ci-failures.md @@ -64,6 +64,7 @@ Create `/tmp/ci-plan.md` (outside the repo — no risk of accidental commit): # CI Failure Analysis Plan ## Failed Jobs Summary + - Job 1: (job ID: ) ... @@ -77,7 +78,7 @@ Create `/tmp/ci-plan.md` (outside the repo — no risk of accidental commit): - : ## Notes -[Patterns or observations] +[Any patterns or observations about the failures] ``` ## Phase 3: Fix Issues diff --git a/docs/contributing/documenting-instrumentation.md b/docs/contributing/documenting-instrumentation.md index e95067ea052d..5bb72c1035d1 100644 --- a/docs/contributing/documenting-instrumentation.md +++ b/docs/contributing/documenting-instrumentation.md @@ -64,6 +64,7 @@ Every javaagent instrumentation module should have a README.md file in the javaa [Brief description of what the instrumentation does and what versions it applies to] ## Settings + | System property | Type | Default | Description | |-----------------|------|---------|-------------| | `property.name` | Type | Default | Description | diff --git a/instrumentation-docs/readme.md b/instrumentation-docs/readme.md index 8b04bfb3258d..394f408db7ef 100644 --- a/instrumentation-docs/readme.md +++ b/instrumentation-docs/readme.md @@ -236,7 +236,7 @@ We parse gradle files in order to determine several pieces of metadata: ### Scope For now, the scope name is the only value that is implemented in our instrumentations. The scope -name is determined by the instrumentation module name: `io.opentelemetry.{instrumentation name}` +name is determined by the instrumentation module name: `io.opentelemetry.{instrumentation name}` We will implement gatherers for the schemaUrl and scope attributes when instrumentations start implementing them. diff --git a/instrumentation/apache-httpclient/apache-httpclient-5.2/library/README.md b/instrumentation/apache-httpclient/apache-httpclient-5.2/library/README.md index d698df32094d..2c902b9de09b 100644 --- a/instrumentation/apache-httpclient/apache-httpclient-5.2/library/README.md +++ b/instrumentation/apache-httpclient/apache-httpclient-5.2/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [Apache Http Client 5.2](https://hc.a ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-apache-httpclient-5.2). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-apache-httpclient-5.2). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/README.md b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/README.md index dcbf60ebebba..ba3f21a428c6 100644 --- a/instrumentation/aws-lambda/aws-lambda-core-1.0/library/README.md +++ b/instrumentation/aws-lambda/aws-lambda-core-1.0/library/README.md @@ -50,7 +50,7 @@ link to tracing information provided by Lambda itself. To do so, add a dependenc `io.opentelemetry.contrib:opentelemetry-aws-xray-propagator`. Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.contrib/opentelemetry-aws-xray-propagator). +release](https://central.sonatype.com/artifact/io.opentelemetry.contrib/opentelemetry-aws-xray-propagator). Gradle: diff --git a/instrumentation/c3p0-0.9/library/README.md b/instrumentation/c3p0-0.9/library/README.md index 25104e1f1565..fb2f05eb77cd 100644 --- a/instrumentation/c3p0-0.9/library/README.md +++ b/instrumentation/c3p0-0.9/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [C3P0](https://www.mchange.com/projec ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-c3p0-0.9). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-c3p0-0.9). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/graphql-java/graphql-java-12.0/library/README.md b/instrumentation/graphql-java/graphql-java-12.0/library/README.md index 14892cd58a08..fe50507771a7 100644 --- a/instrumentation/graphql-java/graphql-java-12.0/library/README.md +++ b/instrumentation/graphql-java/graphql-java-12.0/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [GraphQL Java](https://www.graphql-ja ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-graphql-java-12.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-graphql-java-12.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/graphql-java/graphql-java-20.0/library/README.md b/instrumentation/graphql-java/graphql-java-20.0/library/README.md index 27aef38bd404..4dab41d2f99b 100644 --- a/instrumentation/graphql-java/graphql-java-20.0/library/README.md +++ b/instrumentation/graphql-java/graphql-java-20.0/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [GraphQL Java](https://www.graphql-ja ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-graphql-java-12.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-graphql-java-12.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/grpc-1.6/library/README.md b/instrumentation/grpc-1.6/library/README.md index 09674fbb97a5..ecba1980aa12 100644 --- a/instrumentation/grpc-1.6/library/README.md +++ b/instrumentation/grpc-1.6/library/README.md @@ -6,7 +6,7 @@ Provides OpenTelemetry instrumentation for [gRPC](https://grpc.io/). ### Add the following dependencies to your project -Replace `OPENTELEMETRY_VERSION` with the [latest release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-grpc-1.6). +Replace `OPENTELEMETRY_VERSION` with the [latest release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-grpc-1.6). For Maven, add the following to your `pom.xml` dependencies: diff --git a/instrumentation/hikaricp-3.0/library/README.md b/instrumentation/hikaricp-3.0/library/README.md index 49fd620870c2..3d78d3ab2a2c 100644 --- a/instrumentation/hikaricp-3.0/library/README.md +++ b/instrumentation/hikaricp-3.0/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [HikariCP](https://github.com/brettwo ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-hikaricp-3.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-hikaricp-3.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/java-http-client/library/README.md b/instrumentation/java-http-client/library/README.md index a40ff57550c4..d961f43ef963 100644 --- a/instrumentation/java-http-client/library/README.md +++ b/instrumentation/java-http-client/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [Java HTTP Client](https://openjdk.or ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-java-http-client). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-java-http-client). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/java-http-server/library/README.md b/instrumentation/java-http-server/library/README.md index 4cd445097f4f..3c6727f942d8 100644 --- a/instrumentation/java-http-server/library/README.md +++ b/instrumentation/java-http-server/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [Java HTTP Server](https://docs.oracl ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-java-http-server). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-java-http-server). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/jdbc/library/README.md b/instrumentation/jdbc/library/README.md index 1d1ebb5138c6..26b905c16e15 100644 --- a/instrumentation/jdbc/library/README.md +++ b/instrumentation/jdbc/library/README.md @@ -8,7 +8,7 @@ Provides OpenTelemetry instrumentation for ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-jdbc). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-jdbc). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/README.md b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/README.md index b22e6d9fcf85..0ff425c01e98 100644 --- a/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/README.md +++ b/instrumentation/kafka/kafka-clients/kafka-clients-2.6/library/README.md @@ -5,7 +5,7 @@ ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-kafka-clients-2.6). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-kafka-clients-2.6). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/ktor/ktor-1.0/library/README.md b/instrumentation/ktor/ktor-1.0/library/README.md index a8028d4571d0..adceb428700f 100644 --- a/instrumentation/ktor/ktor-1.0/library/README.md +++ b/instrumentation/ktor/ktor-1.0/library/README.md @@ -8,7 +8,7 @@ Currently, only server instrumentation is supported. ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-ktor-1.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-ktor-1.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/ktor/ktor-2.0/library/README.md b/instrumentation/ktor/ktor-2.0/library/README.md index 22c9d8395d17..107bc23337fd 100644 --- a/instrumentation/ktor/ktor-2.0/library/README.md +++ b/instrumentation/ktor/ktor-2.0/library/README.md @@ -8,7 +8,7 @@ Server and client instrumentations are supported. ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-ktor-2.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-ktor-2.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/ktor/ktor-3.0/library/README.md b/instrumentation/ktor/ktor-3.0/library/README.md index 80a3fa2033bc..54ce89836a7e 100644 --- a/instrumentation/ktor/ktor-3.0/library/README.md +++ b/instrumentation/ktor/ktor-3.0/library/README.md @@ -8,7 +8,7 @@ Server and client instrumentations are supported. ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-ktor-3.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-ktor-3.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/log4j/log4j-appender-2.17/library/README.md b/instrumentation/log4j/log4j-appender-2.17/library/README.md index de2d081cc942..562a81f79a51 100644 --- a/instrumentation/log4j/log4j-appender-2.17/library/README.md +++ b/instrumentation/log4j/log4j-appender-2.17/library/README.md @@ -9,7 +9,7 @@ which forwards Log4j2 log events to the ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-log4j-appender-2.17). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-log4j-appender-2.17). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/log4j/log4j-context-data/log4j-context-data-2.17/library-autoconfigure/README.md b/instrumentation/log4j/log4j-context-data/log4j-context-data-2.17/library-autoconfigure/README.md index f81e256cca1f..551d3aceaca0 100644 --- a/instrumentation/log4j/log4j-context-data/log4j-context-data-2.17/library-autoconfigure/README.md +++ b/instrumentation/log4j/log4j-context-data/log4j-context-data-2.17/library-autoconfigure/README.md @@ -8,7 +8,7 @@ into log context. ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-log4j-context-data-2.17-autoconfigure). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-log4j-context-data-2.17-autoconfigure). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/logback/logback-appender-1.0/library/README.md b/instrumentation/logback/logback-appender-1.0/library/README.md index 0be6b056386d..0b2a6b508faf 100644 --- a/instrumentation/logback/logback-appender-1.0/library/README.md +++ b/instrumentation/logback/logback-appender-1.0/library/README.md @@ -9,7 +9,7 @@ forwards Logback log events to the ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-logback-appender-1.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-logback-appender-1.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/logback/logback-mdc-1.0/library/README.md b/instrumentation/logback/logback-mdc-1.0/library/README.md index ad10a3ee34ac..678d430f451a 100644 --- a/instrumentation/logback/logback-mdc-1.0/library/README.md +++ b/instrumentation/logback/logback-mdc-1.0/library/README.md @@ -8,7 +8,7 @@ mounted span using a custom Logback appender. ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-logback-mdc-1.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-logback-mdc-1.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/micrometer/micrometer-1.5/library/README.md b/instrumentation/micrometer/micrometer-1.5/library/README.md index 0c27de3155e7..fd28922b1a86 100644 --- a/instrumentation/micrometer/micrometer-1.5/library/README.md +++ b/instrumentation/micrometer/micrometer-1.5/library/README.md @@ -9,7 +9,7 @@ sends Micrometer metrics to the ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-micrometer-1.5). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-micrometer-1.5). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/okhttp/okhttp-3.0/library/README.md b/instrumentation/okhttp/okhttp-3.0/library/README.md index ac49000bf315..d951722f24e4 100644 --- a/instrumentation/okhttp/okhttp-3.0/library/README.md +++ b/instrumentation/okhttp/okhttp-3.0/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [okhttp3](https://square.github.io/ok ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-okhttp-3.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-okhttp-3.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/openai/openai-java-1.1/library/README.md b/instrumentation/openai/openai-java-1.1/library/README.md index d8b1e745d93e..0e1fc7a6193e 100644 --- a/instrumentation/openai/openai-java-1.1/library/README.md +++ b/instrumentation/openai/openai-java-1.1/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [openai-java](https://github.com/open ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-openai-java-1.1). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-openai-java-1.1). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/oracle-ucp-11.2/library/README.md b/instrumentation/oracle-ucp-11.2/library/README.md index 4f8d5ec15c73..e51543127614 100644 --- a/instrumentation/oracle-ucp-11.2/library/README.md +++ b/instrumentation/oracle-ucp-11.2/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [Oracle UCP](https://docs.oracle.com/ ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-oracle-ucp-11.2). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-oracle-ucp-11.2). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/r2dbc-1.0/library/README.md b/instrumentation/r2dbc-1.0/library/README.md index b9e17a09bedb..3171ba481cdb 100644 --- a/instrumentation/r2dbc-1.0/library/README.md +++ b/instrumentation/r2dbc-1.0/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [R2dbc](https://r2dbc.io/). ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-r2dbc-1.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-r2dbc-1.0). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/rocketmq/rocketmq-client-4.8/library/README.md b/instrumentation/rocketmq/rocketmq-client-4.8/library/README.md index 6d0619adee87..e0cac5bafa98 100644 --- a/instrumentation/rocketmq/rocketmq-client-4.8/library/README.md +++ b/instrumentation/rocketmq/rocketmq-client-4.8/library/README.md @@ -6,7 +6,7 @@ Provides OpenTelemetry instrumentation for [Apache RocketMQ](https://rocketmq.ap ### Add the following dependencies to your project -Replace `OPENTELEMETRY_VERSION` with the [latest release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-rocketmq-client-4.8). +Replace `OPENTELEMETRY_VERSION` with the [latest release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-rocketmq-client-4.8). For Maven, add the following to your `pom.xml` dependencies: diff --git a/instrumentation/spring/spring-web/spring-web-3.1/library/README.md b/instrumentation/spring/spring-web/spring-web-3.1/library/README.md index 47e38f91c2c1..df5aef2aa9d3 100644 --- a/instrumentation/spring/spring-web/spring-web-3.1/library/README.md +++ b/instrumentation/spring/spring-web/spring-web-3.1/library/README.md @@ -10,7 +10,7 @@ Replace `SPRING_VERSION` with the version of spring you're using. `Minimum version: 3.1` Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-spring-web-3.1). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-spring-web-3.1). For Maven, add to your `pom.xml` dependencies: diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/README.md b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/README.md index b724e63e374b..4a648d1f3859 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/README.md +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-5.3/library/README.md @@ -11,7 +11,7 @@ Replace `SPRING_VERSION` with the version of spring you're using. - `Minimum version: 5.3` Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-spring-webmvc-5.3). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-spring-webmvc-5.3). For Maven add the following to your `pom.xml`: diff --git a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/README.md b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/README.md index 52b1a33ee592..223a10937cf0 100644 --- a/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/README.md +++ b/instrumentation/spring/spring-webmvc/spring-webmvc-6.0/library/README.md @@ -11,7 +11,7 @@ Replace `SPRING_VERSION` with the version of spring you're using. - `Minimum version: 6.0.0` Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-spring-webmvc-6.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-spring-webmvc-6.0). For Maven add the following to your `pom.xml`: diff --git a/instrumentation/vibur-dbcp-11.0/library/README.md b/instrumentation/vibur-dbcp-11.0/library/README.md index 149d8da48a18..4a028eececb3 100644 --- a/instrumentation/vibur-dbcp-11.0/library/README.md +++ b/instrumentation/vibur-dbcp-11.0/library/README.md @@ -7,7 +7,7 @@ Provides OpenTelemetry instrumentation for [Vibur DBCP](https://www.vibur.org/). ### Add these dependencies to your project Replace `OPENTELEMETRY_VERSION` with the [latest -release]( https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-vibur-dbcp-11.0). +release](https://central.sonatype.com/artifact/io.opentelemetry.instrumentation/opentelemetry-vibur-dbcp-11.0). For Maven, add to your `pom.xml` dependencies: diff --git a/licenses/licenses.md b/licenses/licenses.md index c3d15ed2b455..fa4c8d440e83 100644 --- a/licenses/licenses.md +++ b/licenses/licenses.md @@ -1,5 +1,6 @@ # javaagent + ## Dependency License Report ## Apache License, Version 2.0 diff --git a/mise.toml b/mise.toml index 47104e25d16a..b1813dfc3168 100644 --- a/mise.toml +++ b/mise.toml @@ -1,21 +1,9 @@ [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" -hadolint = "2.14.0" lychee = "0.23.0" -"pipx:codespell" = "2.4.2" -"pipx:ruff" = "0.15.11" rumdl = "0.1.80" -shellcheck = "0.11.0" -shfmt = "3.13.1" [env] FLINT_CONFIG_DIR = ".github/config" @@ -32,8 +20,8 @@ use_file_shell_for_executable_tasks = true [tasks.lint] description = "Run markdown and link linting" -run = "flint run" +run = "flint run lychee rumdl" [tasks."lint:fix"] description = "Auto-fix lint issues" -run = "flint run --fix" +run = "flint run --fix rumdl" From 4b63151bfc5f8f336b8a4870315ca82ba1d7a336 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 12:51:55 +0000 Subject: [PATCH 12/39] 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 | 13 +++++++++++++ 5 files changed, 23 insertions(+), 1 deletion(-) create mode 100644 .github/config/.taplo.toml rename biome.json => biome.jsonc (100%) diff --git a/.editorconfig b/.editorconfig index 201ab30485ca..f0079d312e1b 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 000000000000..91983407cd50 --- /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 767e76d5115a..77e339f67457 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', ':semanticCommits', 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 b1813dfc3168..180556787a3e 100644 --- a/mise.toml +++ b/mise.toml @@ -1,9 +1,22 @@ [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" +hadolint = "2.14.0" +ktlint = "1.8.0" lychee = "0.23.0" +"pipx:codespell" = "2.4.2" +ruff = "0.15.12" rumdl = "0.1.80" +shfmt = "3.13.1" +taplo = "0.10.0" [env] FLINT_CONFIG_DIR = ".github/config" From 5c5dee7e730f863c4fc75a11ad58cc849cad9e46 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 13:16:17 +0000 Subject: [PATCH 13/39] fix: satisfy rumdl in CI failure prompt Signed-off-by: Gregor Zeitlinger --- .github/prompts/fix-pr-ci-failures.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/prompts/fix-pr-ci-failures.md b/.github/prompts/fix-pr-ci-failures.md index f54f0944074b..b17da64bc391 100644 --- a/.github/prompts/fix-pr-ci-failures.md +++ b/.github/prompts/fix-pr-ci-failures.md @@ -75,9 +75,11 @@ Create `/tmp/ci-plan.md` (outside the repo — no risk of accidental commit): - Log files: /tmp/.log, ... ## Suspected Flaky / Infra Failures (skipped) + - : ## Notes + [Any patterns or observations about the failures] ``` From 29c1d5d7b7f3c2a4313dc674f025f68d7ea0fc7d Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 14:43:09 +0000 Subject: [PATCH 14/39] chore: update flint to v0.21.0 Signed-off-by: Gregor Zeitlinger --- licenses/licenses.md | 1 - mise.toml | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/licenses/licenses.md b/licenses/licenses.md index fa4c8d440e83..c3d15ed2b455 100644 --- a/licenses/licenses.md +++ b/licenses/licenses.md @@ -1,6 +1,5 @@ # javaagent - ## Dependency License Report ## Apache License, Version 2.0 diff --git a/mise.toml b/mise.toml index 180556787a3e..c03c8e2816ec 100644 --- a/mise.toml +++ b/mise.toml @@ -6,7 +6,7 @@ actionlint = "1.7.12" biome = "2.4.13" editorconfig-checker = "3.6.1" "github:google/google-java-format" = "1.35.0" -"github:grafana/flint" = "0.20.4" +"github:grafana/flint" = "0.21.0" "github:jonwiggins/xmloxide" = "0.4.2" "github:koalaman/shellcheck" = "0.11.0" hadolint = "2.14.0" From 7ab68de1c93568bba2c4bb52668418d86041b260 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 14:44:49 +0000 Subject: [PATCH 15/39] ci: align rumdl with generated license report Signed-off-by: Gregor Zeitlinger --- .github/config/.rumdl.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml index 2c863171d084..7204747ecab1 100644 --- a/.github/config/.rumdl.toml +++ b/.github/config/.rumdl.toml @@ -1,5 +1,5 @@ [global] -disable = ["MD059", "line-length", "no-inline-html", "MD041", "ul-style", "fenced-code-language"] +disable = ["MD059", "line-length", "no-inline-html", "MD041", "MD022", "ul-style", "fenced-code-language"] [no-duplicate-heading] siblings-only = true From c6991875c48f634e06155fbb2d34c0d7b8363174 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 14:44:54 +0000 Subject: [PATCH 16/39] chore: format license report for rumdl Signed-off-by: Gregor Zeitlinger --- licenses/licenses.md | 1 + 1 file changed, 1 insertion(+) diff --git a/licenses/licenses.md b/licenses/licenses.md index c3d15ed2b455..fa4c8d440e83 100644 --- a/licenses/licenses.md +++ b/licenses/licenses.md @@ -1,5 +1,6 @@ # javaagent + ## Dependency License Report ## Apache License, Version 2.0 From 9b0cb0dfda3dbb4913d3bc2ac1c284ab4d0b2795 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 16:02:49 +0000 Subject: [PATCH 17/39] 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 5a46209b1345..483f3d4bf106 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 33f1405c32cbe8dd1d6e26ad317c5a3c290139f3 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:32:16 +0000 Subject: [PATCH 18/39] 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 e00a67b4f02d..000000000000 --- 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 31af3ccd943c74895be6be4093aa5fa24e7d476b Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:36:33 +0000 Subject: [PATCH 19/39] 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 77e339f67457..fddc3eb4bf16 100644 --- a/.github/renovate.json5 +++ b/.github/renovate.json5 @@ -379,17 +379,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+)', - ], - }, // commented out to see whether weekly update passes without this block // { // customType: 'regex', From 88ce729fe70e927e0be66d3c5fe78aa03c4b19a8 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:41:01 +0000 Subject: [PATCH 20/39] 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 c03c8e2816ec..0e0da615dead 100644 --- a/mise.toml +++ b/mise.toml @@ -21,16 +21,6 @@ taplo = "0.10.0" [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] description = "Run markdown and link linting" run = "flint run lychee rumdl" From cc77f9909b056b97ef4c03361f7b41f7b9a9ca56 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:47:35 +0000 Subject: [PATCH 21/39] chore: keep first-round otel tools minimal Signed-off-by: Gregor Zeitlinger --- mise.toml | 15 --------------- 1 file changed, 15 deletions(-) diff --git a/mise.toml b/mise.toml index 0e0da615dead..caf7ca27c5e2 100644 --- a/mise.toml +++ b/mise.toml @@ -1,22 +1,7 @@ [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.21.0" -"github:jonwiggins/xmloxide" = "0.4.2" -"github:koalaman/shellcheck" = "0.11.0" -hadolint = "2.14.0" -ktlint = "1.8.0" lychee = "0.23.0" -"pipx:codespell" = "2.4.2" -ruff = "0.15.12" rumdl = "0.1.80" -shfmt = "3.13.1" -taplo = "0.10.0" [env] FLINT_CONFIG_DIR = ".github/config" From a48ec9ff1a0e262c92088e76d3b535dd323404e8 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 17:51:27 +0000 Subject: [PATCH 22/39] chore: keep first-round otel config minimal Signed-off-by: Gregor Zeitlinger --- .github/config/.taplo.toml | 3 --- .github/config/.yamllint.yml | 8 -------- 2 files changed, 11 deletions(-) delete mode 100644 .github/config/.taplo.toml delete mode 100644 .github/config/.yamllint.yml diff --git a/.github/config/.taplo.toml b/.github/config/.taplo.toml deleted file mode 100644 index 91983407cd50..000000000000 --- 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 483f3d4bf106..000000000000 --- 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 50ec0f6b7f4efab33374fe7019fb95856b24f5bf Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 18:42:26 +0000 Subject: [PATCH 23/39] ci: pass current flint GitHub env vars Signed-off-by: Gregor Zeitlinger --- .github/workflows/reusable-lint-check.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/reusable-lint-check.yml b/.github/workflows/reusable-lint-check.yml index 1bfb111aa823..ba77aa5cb400 100644 --- a/.github/workflows/reusable-lint-check.yml +++ b/.github/workflows/reusable-lint-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 6441a7fa09ccc2c94593b83ff6de8686ededae9a Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 18:59:55 +0000 Subject: [PATCH 24/39] chore: clarify narrowed lint tasks Signed-off-by: Gregor Zeitlinger --- mise.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mise.toml b/mise.toml index caf7ca27c5e2..992f6c6b934e 100644 --- a/mise.toml +++ b/mise.toml @@ -7,9 +7,9 @@ rumdl = "0.1.80" FLINT_CONFIG_DIR = ".github/config" [tasks.lint] -description = "Run markdown and link linting" +description = "Run lychee and rumdl checks" run = "flint run lychee rumdl" [tasks."lint:fix"] -description = "Auto-fix lint issues" +description = "Auto-fix rumdl issues" run = "flint run --fix rumdl" From cf4cbb9bab96e6c639f7232b22062099a4a3dfc4 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:01:22 +0000 Subject: [PATCH 25/39] chore: keep generic lint task descriptions Signed-off-by: Gregor Zeitlinger --- mise.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mise.toml b/mise.toml index 992f6c6b934e..5c7393945abb 100644 --- a/mise.toml +++ b/mise.toml @@ -7,9 +7,9 @@ rumdl = "0.1.80" FLINT_CONFIG_DIR = ".github/config" [tasks.lint] -description = "Run lychee and rumdl checks" +description = "Run all lints" run = "flint run lychee rumdl" [tasks."lint:fix"] -description = "Auto-fix rumdl issues" +description = "Auto-fix lint issues" run = "flint run --fix rumdl" From d76d0a798967ff5409e82fbd54283b8dff9ad421 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:02:22 +0000 Subject: [PATCH 26/39] chore: rely on flint task defaults Signed-off-by: Gregor Zeitlinger --- mise.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mise.toml b/mise.toml index 5c7393945abb..7682a46f1970 100644 --- a/mise.toml +++ b/mise.toml @@ -8,8 +8,8 @@ FLINT_CONFIG_DIR = ".github/config" [tasks.lint] description = "Run all lints" -run = "flint run lychee rumdl" +run = "flint run" [tasks."lint:fix"] description = "Auto-fix lint issues" -run = "flint run --fix rumdl" +run = "flint run --fix" From 9edeed072417d80215c478fadc44670aafbee323 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:06:10 +0000 Subject: [PATCH 27/39] chore: restore rumdl config comments Signed-off-by: Gregor Zeitlinger --- .github/config/.rumdl.toml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml index 7204747ecab1..668b93e44caa 100644 --- a/.github/config/.rumdl.toml +++ b/.github/config/.rumdl.toml @@ -1,10 +1,13 @@ +# Converted from the repo's legacy markdownlint config. [global] +# Disable the descriptive-link-text rule to preserve the old markdownlint policy. disable = ["MD059", "line-length", "no-inline-html", "MD041", "MD022", "ul-style", "fenced-code-language"] [no-duplicate-heading] siblings-only = true [no-trailing-punctuation] +# Allow exclamation points and question marks at the end of sentences. punctuation = ".,;:" [ol-prefix] From 7161eff992e09c1f10b56ad4549b4b52db2a5e04 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:08:32 +0000 Subject: [PATCH 28/39] chore: preserve source rumdl comments Signed-off-by: Gregor Zeitlinger --- .github/config/.rumdl.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml index 668b93e44caa..556c3da7976d 100644 --- a/.github/config/.rumdl.toml +++ b/.github/config/.rumdl.toml @@ -1,13 +1,13 @@ # Converted from the repo's legacy markdownlint config. [global] -# Disable the descriptive-link-text rule to preserve the old markdownlint policy. +# disable link text should be descriptive check disable = ["MD059", "line-length", "no-inline-html", "MD041", "MD022", "ul-style", "fenced-code-language"] [no-duplicate-heading] siblings-only = true [no-trailing-punctuation] -# Allow exclamation points and question marks at the end of sentences. +# allowing exclamation points and question marks at end of sentences punctuation = ".,;:" [ol-prefix] From 3468daba7ead8f8078648bc0eee48cf8840cbfa9 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:09:56 +0000 Subject: [PATCH 29/39] chore: preserve source config header comments Signed-off-by: Gregor Zeitlinger --- .github/config/.rumdl.toml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml index 556c3da7976d..4e33b366c369 100644 --- a/.github/config/.rumdl.toml +++ b/.github/config/.rumdl.toml @@ -1,4 +1,5 @@ -# Converted from the repo's legacy markdownlint config. +# See https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md +# and https://github.com/DavidAnson/markdownlint-cli2 [global] # disable link text should be descriptive check disable = ["MD059", "line-length", "no-inline-html", "MD041", "MD022", "ul-style", "fenced-code-language"] From 5554f63ed169a69554e33a2b5451308c7a3bb797 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:12:09 +0000 Subject: [PATCH 30/39] chore: restore markdown lint excludes Signed-off-by: Gregor Zeitlinger --- .github/config/flint.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/config/flint.toml b/.github/config/flint.toml index cc695397597a..2f04bf06dcc1 100644 --- a/.github/config/flint.toml +++ b/.github/config/flint.toml @@ -1,5 +1,5 @@ [settings] -exclude = ["CHANGELOG.md"] +exclude = ["CHANGELOG.md", "licenses/licenses.md"] setup_migration_version = 2 [checks.lychee] From cca6cbc203dbbb88663f43ba167b301cb9099db3 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Mon, 27 Apr 2026 19:14:08 +0000 Subject: [PATCH 31/39] chore: point rumdl config docs to rumdl Signed-off-by: Gregor Zeitlinger --- .github/config/.rumdl.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/config/.rumdl.toml b/.github/config/.rumdl.toml index 4e33b366c369..f741c5d63fab 100644 --- a/.github/config/.rumdl.toml +++ b/.github/config/.rumdl.toml @@ -1,5 +1,5 @@ -# See https://github.com/DavidAnson/markdownlint/blob/main/doc/Rules.md -# and https://github.com/DavidAnson/markdownlint-cli2 +# See https://rumdl.dev/ +# and https://rumdl.dev/rules/ [global] # disable link text should be descriptive check disable = ["MD059", "line-length", "no-inline-html", "MD041", "MD022", "ul-style", "fenced-code-language"] From e4e87039d6f574496cdb1bc68d6c9d82fd0f0877 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 05:53:53 +0000 Subject: [PATCH 32/39] ci: keep muzzle required on release PRs Signed-off-by: Gregor Zeitlinger --- .github/workflows/build-pull-request.yml | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-pull-request.yml b/.github/workflows/build-pull-request.yml index 4bd935f29d17..d357cb8f9678 100644 --- a/.github/workflows/build-pull-request.yml +++ b/.github/workflows/build-pull-request.yml @@ -62,11 +62,9 @@ jobs: - if: | needs.common.result != 'success' || needs.test-latest-deps.result != 'success' || + needs.muzzle.result != 'success' || ( !startsWith(github.base_ref, 'release/') && - ( - needs.muzzle.result != 'success' || - needs.lint.result != 'success' - ) + needs.lint.result != 'success' ) run: exit 1 # fail From d42717b556b92981b0cad7b8a5a4fb696c519537 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 05:55:21 +0000 Subject: [PATCH 33/39] chore: drop unused biome config Signed-off-by: Gregor Zeitlinger --- biome.jsonc | 6 ------ 1 file changed, 6 deletions(-) delete mode 100644 biome.jsonc diff --git a/biome.jsonc b/biome.jsonc deleted file mode 100644 index 4e68cbc7f6a5..000000000000 --- a/biome.jsonc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "formatter": { - "indentStyle": "space", - "indentWidth": 2 - } -} From 96de05dd6e10e812ca4b628c3e0b79fa4a53b48a Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 05:58:44 +0000 Subject: [PATCH 34/39] chore: drop unrelated prompt drift Signed-off-by: Gregor Zeitlinger --- .github/prompts/fix-pr-ci-failures.md | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.github/prompts/fix-pr-ci-failures.md b/.github/prompts/fix-pr-ci-failures.md index b17da64bc391..1a3f39dabf66 100644 --- a/.github/prompts/fix-pr-ci-failures.md +++ b/.github/prompts/fix-pr-ci-failures.md @@ -64,7 +64,6 @@ Create `/tmp/ci-plan.md` (outside the repo — no risk of accidental commit): # CI Failure Analysis Plan ## Failed Jobs Summary - - Job 1: (job ID: ) ... @@ -75,12 +74,10 @@ Create `/tmp/ci-plan.md` (outside the repo — no risk of accidental commit): - Log files: /tmp/.log, ... ## Suspected Flaky / Infra Failures (skipped) - - : ## Notes - -[Any patterns or observations about the failures] +[Patterns or observations] ``` ## Phase 3: Fix Issues From 2d0cb1a796e7ce16a2dddf4b94170128a093dafa Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 06:01:05 +0000 Subject: [PATCH 35/39] chore: refresh release-branch lint comments Signed-off-by: Gregor Zeitlinger --- .github/workflows/build-pull-request.yml | 3 +-- .github/workflows/build.yml | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/.github/workflows/build-pull-request.yml b/.github/workflows/build-pull-request.yml index d357cb8f9678..63ceaa876688 100644 --- a/.github/workflows/build-pull-request.yml +++ b/.github/workflows/build-pull-request.yml @@ -45,8 +45,7 @@ jobs: cache-read-only: true lint: - # release branches are excluded because the README.md javaagent download link has to be updated - # on release branches before the release download has been published + # release branches are excluded to avoid unnecessary release branch maintenance if: "!startsWith(github.ref_name, 'release/') && !startsWith(github.base_ref, 'release/')" uses: ./.github/workflows/reusable-lint-check.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 2d3f32b3e928..9181f46ec931 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,7 +35,6 @@ jobs: uses: ./.github/workflows/reusable-muzzle.yml lint: - # release branches are excluded because the README.md javaagent download link has to be updated - # on release branches before the release download has been published + # release branches are excluded to avoid unnecessary release branch maintenance if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-lint-check.yml From d6e94c8c7d2eadf5f0429b12585297ecd5c66c77 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 06:04:59 +0000 Subject: [PATCH 36/39] chore: restore original release-branch lint comment Signed-off-by: Gregor Zeitlinger --- .github/workflows/build-pull-request.yml | 3 ++- .github/workflows/build.yml | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build-pull-request.yml b/.github/workflows/build-pull-request.yml index 63ceaa876688..d357cb8f9678 100644 --- a/.github/workflows/build-pull-request.yml +++ b/.github/workflows/build-pull-request.yml @@ -45,7 +45,8 @@ jobs: cache-read-only: true lint: - # release branches are excluded to avoid unnecessary release branch maintenance + # release branches are excluded because the README.md javaagent download link has to be updated + # on release branches before the release download has been published if: "!startsWith(github.ref_name, 'release/') && !startsWith(github.base_ref, 'release/')" uses: ./.github/workflows/reusable-lint-check.yml diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9181f46ec931..2d3f32b3e928 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -35,6 +35,7 @@ jobs: uses: ./.github/workflows/reusable-muzzle.yml lint: - # release branches are excluded to avoid unnecessary release branch maintenance + # release branches are excluded because the README.md javaagent download link has to be updated + # on release branches before the release download has been published if: "!startsWith(github.ref_name, 'release/')" uses: ./.github/workflows/reusable-lint-check.yml From 99f547a1df7600612ba028ae633806463b4c1fdf Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 08:52:40 +0000 Subject: [PATCH 37/39] chore: fix remaining flint lint issues Signed-off-by: Gregor Zeitlinger --- .github/prompts/fix-pr-ci-failures.md | 2 ++ mise.toml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/prompts/fix-pr-ci-failures.md b/.github/prompts/fix-pr-ci-failures.md index 1a3f39dabf66..bf8e0a8e3b7d 100644 --- a/.github/prompts/fix-pr-ci-failures.md +++ b/.github/prompts/fix-pr-ci-failures.md @@ -64,6 +64,7 @@ Create `/tmp/ci-plan.md` (outside the repo — no risk of accidental commit): # CI Failure Analysis Plan ## Failed Jobs Summary + - Job 1: (job ID: ) ... @@ -74,6 +75,7 @@ Create `/tmp/ci-plan.md` (outside the repo — no risk of accidental commit): - Log files: /tmp/.log, ... ## Suspected Flaky / Infra Failures (skipped) + - : ## Notes diff --git a/mise.toml b/mise.toml index 7682a46f1970..6991bcbf95d4 100644 --- a/mise.toml +++ b/mise.toml @@ -1,4 +1,6 @@ [tools] + +# Linters "github:grafana/flint" = "0.21.0" lychee = "0.23.0" rumdl = "0.1.80" From 2759ae27228fc6f2e4a1d2245ca88596bf0c002d Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Tue, 28 Apr 2026 09:06:31 +0000 Subject: [PATCH 38/39] chore: restore original licenses report Signed-off-by: Gregor Zeitlinger --- licenses/licenses.md | 1 - 1 file changed, 1 deletion(-) diff --git a/licenses/licenses.md b/licenses/licenses.md index fa4c8d440e83..c3d15ed2b455 100644 --- a/licenses/licenses.md +++ b/licenses/licenses.md @@ -1,6 +1,5 @@ # javaagent - ## Dependency License Report ## Apache License, Version 2.0 From d88cabf9305f2c3709001a14a5ad3d228c10e6c9 Mon Sep 17 00:00:00 2001 From: Gregor Zeitlinger Date: Wed, 29 Apr 2026 12:39:14 +0000 Subject: [PATCH 39/39] fix: drop unrelated editorconfig changes Signed-off-by: Gregor Zeitlinger --- .editorconfig | 2 -- 1 file changed, 2 deletions(-) diff --git a/.editorconfig b/.editorconfig index f0079d312e1b..df5bcd178fae 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