Skip to content

ci: replace linting setup with flint#1883

Merged
zeitlinger merged 8 commits intomainfrom
use-flint
Feb 16, 2026
Merged

ci: replace linting setup with flint#1883
zeitlinger merged 8 commits intomainfrom
use-flint

Conversation

@zeitlinger
Copy link
Member

@zeitlinger zeitlinger commented Feb 16, 2026

Summary

  • Replace the custom super-linter setup with flint v0.4.0, which provides shared, maintained lint tasks (super-linter, link checking, renovate-deps)
  • Use flint's Renovate shareable preset for custom managers instead of inline config
  • Remove manual URL remap step from lint workflow (now handled by flint's links.sh)
  • Add lint:renovate-deps task to verify tracked Renovate dependencies
  • Move release-please config and manifest into .github/config/
  • Add PR title linting workflow (action-semantic-pull-request)

Test plan

  • CI passes (lint, build, tests)
  • Release-please workflow still triggers correctly with moved config
  • PR title lint workflow runs on new PRs

Adopt grafana/flint v0.2.0 to consolidate lint tasks previously sourced
from grafana/docker-otel-lgtm and opentelemetry-java-contrib into a
single set of reusable tasks.

- Replace 9 lint tasks in mise.toml with 4 flint-based tasks
- Merge super-linter.yml and lint-rest.yml into unified lint.yml workflow
- Add Renovate custom manager for flint SHA-pinned URL tracking
- Update CONTRIBUTING.md and CLAUDE.md lint command references
- Clean up .editorconfig stale path references
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Document which dependencies in mise.toml are managed by Renovate,
following the same pattern used in flint and docker-otel-lgtm.
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Point the release-please workflow at the new config and manifest
paths and remove the old root-level files.
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Only print output from the BOM linter on errors, aligning with the
super-linter idiom. Add lychee.toml to the relaxed editorconfig
line-length group since URL remap patterns exceed 100 chars.
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
zeitlinger added a commit to grafana/flint that referenced this pull request Feb 16, 2026
## Summary

- Add `build_remap_args()` to `links.sh` that generates lychee `--remap`
flags to redirect `/blob/{base}/` and `/tree/{base}/` GitHub URLs to the
PR branch
- Works in CI (using `GITHUB_REPOSITORY`, `GITHUB_BASE_REF`,
`GITHUB_HEAD_REF`) and locally (parsing git remote URL and branch info)
- Supports fork PRs via `PR_HEAD_REPO` env var; skips silently when on
the default branch or when repo info can't be determined

This eliminates the need for consuming repos to add boilerplate `sed`
commands in their CI workflows to remap branch URLs during link checking
(e.g.,
[prometheus/client_java#1883](prometheus/client_java#1883)).

## Test plan

- [x] Lint passes (`mise run lint`)
- [x] On default branch (`main`): no remap args generated
- [x] CI simulation
(`GITHUB_REPOSITORY`/`GITHUB_BASE_REF`/`GITHUB_HEAD_REF`): correct remap
args
- [x] Fork CI simulation (with `PR_HEAD_REPO`): remaps to fork repo
- [x] Head == base branch: no remap args generated

Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
- Update flint from v0.2.0 to v0.4.0 (SHA-pinned)
- Use flint Renovate preset for custom managers
- Remove manual URL remap step from lint workflow (now in flint)
- Add lint:renovate-deps task and regenerate tracked deps
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
@zeitlinger zeitlinger changed the title Replace linting setup with flint ci: replace linting setup with flint Feb 16, 2026
@zeitlinger zeitlinger merged commit 1b8f56d into main Feb 16, 2026
10 of 11 checks passed
@zeitlinger zeitlinger deleted the use-flint branch February 16, 2026 19:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant