Skip to content

feat: add Renovate shareable preset for consuming repos#17

Merged
zeitlinger merged 1 commit intomainfrom
renovate-rules
Feb 16, 2026
Merged

feat: add Renovate shareable preset for consuming repos#17
zeitlinger merged 1 commit intomainfrom
renovate-rules

Conversation

@zeitlinger
Copy link
Copy Markdown
Member

@zeitlinger zeitlinger commented Feb 16, 2026

Summary

Adds a Renovate shareable preset (default.json) so consuming repos no longer need to copy-paste custom manager configurations.

What the preset provides

Consuming repos add one line to their renovate.json5:

{
  extends: ["github>grafana/flint"],
}

This gives them:

  • _VERSION variable tracking — a regex custom manager that matches # renovate: annotated _VERSION variables in mise.toml (e.g., SUPER_LINTER_VERSION), supporting datasource, depName, packageName, versioning, and optional @sha256: digests
  • Flint version pinning — a regex custom manager that matches raw.githubusercontent.com URLs in mise.toml and updates the version tag (e.g., v0.1.0) via the github-tags datasource
  • Weekly renovate updates — a package rule that limits renovate self-updates to once a week (before 6am on Monday)

Why flint doesn't use its own preset

The lint:renovate-deps task runs Renovate with --platform=local, which cannot resolve local>. presets. Flint's own .github/renovate.json5 therefore keeps its custom managers inline, with a comment explaining why.

Test plan

  • Verify a consuming repo can extend "github>grafana/flint" and Renovate resolves the preset
  • Verify mise run lint passes (super-linter, links, renovate-deps all green)

Copilot AI review requested due to automatic review settings February 16, 2026 17:30
Provide a default.json preset that consuming repos can extend with
"github>grafana/flint" instead of copy-pasting custom managers.
Includes weekly schedule for renovate package updates.
Signed-off-by: Gregor Zeitlinger <gregor.zeitlinger@grafana.com>
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a Renovate shareable preset (default.json) that encapsulates flint's custom managers for automatic dependency updates. This allows consuming repositories to use extends: ["github>grafana/flint"] instead of manually copying custom manager configurations.

Changes:

  • Added default.json with two custom managers (for _VERSION variables and raw.githubusercontent.com URLs) plus weekly scheduling for the renovate package
  • Updated README.md to replace the manual custom manager example with simpler preset extension instructions
  • Updated .github/renovate.json5 to dogfood the new preset via "local>."

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.

File Description
default.json New Renovate shareable preset containing custom managers and package rules
README.md Simplified Renovate documentation to reference the preset instead of showing full custom manager config
.github/renovate.json5 Removed inline custom manager (now using the preset via "local>.") and added the raw.githubusercontent.com manager

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@zeitlinger zeitlinger merged commit 8a06590 into main Feb 16, 2026
8 checks passed
@zeitlinger zeitlinger deleted the renovate-rules branch February 16, 2026 17:46
zeitlinger pushed a commit that referenced this pull request Feb 16, 2026
🤖 I have created a release *beep* *boop*
---


## [0.3.0](v0.2.0...v0.3.0)
(2026-02-16)


### Features

* add Renovate shareable preset for consuming repos
([#17](#17))
([8a06590](8a06590))
* **links:** auto-remap base-branch GitHub URLs to PR branch
([#18](#18))
([dd6cc61](dd6cc61))


### Bug Fixes

* **links:** add regex anchors to remap patterns
([#19](#19))
([2e17348](2e17348))
* replace broken release-please PR comment with docs
([#12](#12))
([817b37d](817b37d))

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
zeitlinger pushed a commit that referenced this pull request Apr 13, 2026
## flint v0.20.0 — Rust rewrite

flint has been rewritten from scratch in Rust. The bash + Docker stack
is replaced by a fast, cross-platform native binary with no container
dependency.

### Highlights

- **Native binary** — no Docker, no bash wrappers; runs anywhere mise
can install a Rust crate
- **Parallel linting** — all checks run concurrently
- **Diff-aware** — only checks files changed since the merge base by
default (`--full` for everything)
- **`flint update`** — migrates obsolete `mise.toml` tool keys
automatically (e.g. `ubi:` → `github:`, `npm:markdownlint-cli` →
`npm:markdownlint-cli2`)
- **`flint hook install`** — installs a pre-commit hook without any mise
task knowledge
- **New linters**: `gofmt`, `google-java-format`, `ktlint`,
`dotnet-format`, `markdownlint-cli2`, `xmllint` (via `cargo:xmloxide`),
`license-header` (pure-Rust, no binary)
- **Windows support** — ktlint self-executing JAR handled via explicit
`java -jar` invocation

### Migration

See
[AGENTS-V2.md](https://github.com/grafana/flint/blob/main/AGENTS-V2.md)
and [README.md](https://github.com/grafana/flint/blob/main/README.md)
for full setup instructions.

Quick reference for existing consumers:

```toml
[tools]
# While installing from source (pre-crates.io release):
"cargo:https://github.com/grafana/flint" = "branch:main"

[env]
FLINT_CONFIG_DIR = ".github/config"

[tasks.lint]
run = "flint run"

[tasks."lint:fix"]
run = "flint run --fix"
```

Remove: `lint:super-linter`, `lint:links`, `lint:renovate-deps`,
`setup:native-lint-tools`, `setup:pre-commit-hook` tasks. Run `flint
update` to auto-migrate any obsolete tool keys.

> [!NOTE]
> The changelog below includes entries from the legacy v1 bash era — see
[README-V1.md](https://github.com/grafana/flint/blob/main/README-V1.md)
for v1 docs.

---

##
[0.20.0](flint-v0.19.0...flint-v0.20.0)
(2026-04-13)


### Features

* add flint v2 Rust binary
([#139](#139))
([19f2b25](19f2b25))
* add native linting mode and version mapping infrastructure
([#93](#93))
([24b06da](24b06da))
* add Renovate shareable preset for consuming repos
([#17](#17))
([8a06590](8a06590))
* consolidate link checking and add autofix flags
([#7](#7))
([086a5e9](086a5e9))
* flint update command, explicit JAR flag, v0.20.0
([#146](#146))
([b43bf52](b43bf52))
* handle line-number anchors and issue comments globally
([#56](#56))
([cf751df](cf751df))
* **links:** add GitHub URL remaps for line-number and fragment anchors
([#28](#28))
([5b59065](5b59065))
* **links:** auto-remap base-branch GitHub URLs to PR branch
([#18](#18))
([dd6cc61](dd6cc61))
* **renovate:** support SHA-pinned URLs in Renovate preset
([#21](#21))
([4fd1f28](4fd1f28))
* **super-linter:** default to slim image
([#24](#24))
([c8eeab8](c8eeab8))
* support NATIVE env var for container-free linting
([#107](#107))
([0a8193d](0a8193d))


### Bug Fixes

* activate mise environment in native lint mode
([#123](#123))
([d0fec45](d0fec45))
* add 'mise run fix' hint to lint failure output
([#90](#90))
([5b4ad5d](5b4ad5d))
* decouple version mapping generation from pinned super-linter version
([#112](#112))
([5370e77](5370e77))
* **deps:** update rust crate crossterm to 0.29
([#156](#156))
([c59ae3e](c59ae3e))
* **deps:** update rust crate similar to v3
([#160](#160))
([684be4e](684be4e))
* **deps:** update rust crate toml to v1
([#161](#161))
([3aae614](3aae614))
* **deps:** update rust crate toml_edit to 0.25
([#158](#158))
([42d9efd](42d9efd))
* exclude GitHub compare links from lychee checks
([#10](#10))
([e714608](e714608))
* fail native lint when enabled tools are missing
([#111](#111))
([163bb6b](163bb6b))
* improve link checker reliability against GitHub rate limiting
([#95](#95))
([7a5282d](7a5282d))
* include staged files in native lint file list
([#135](#135))
([34412d6](34412d6))
* **links:** add regex anchors to remap patterns
([#19](#19))
([2e17348](2e17348))
* native lint in worktrees, trust toml, use ec binary, drop isort
([#134](#134))
([8594bba](8594bba))
* **release-please:** fix footer not appearing on release PRs
([#40](#40))
([d7a55e4](d7a55e4))
* remap same-repo GitHub URLs to local file paths
([#100](#100))
([b4feadd](b4feadd))
* **renovate-deps:** forward GITHUB_TOKEN as GITHUB_COM_TOKEN
([#132](#132))
([4d6510b](4d6510b))
* replace broken release-please PR comment with docs
([#12](#12))
([817b37d](817b37d))
* run shellcheck on .bats files in native mode
([#137](#137))
([a4fd3f8](a4fd3f8))
* strip Scroll to Text Fragment anchors in link checks
([#86](#86))
([b630cdf](b630cdf))
* tighten markdownlint config for native mode
([#106](#106))
([6ef25b2](6ef25b2))
* use remap instead of exclude for issue comment anchors
([#58](#58))
([656f355](656f355))

---
> [!IMPORTANT]
> Close and reopen this PR to trigger CI checks.

Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
This was referenced Apr 16, 2026
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.

2 participants