fix: switch yaml-lint to ryl#226
Conversation
|
Putting this PR on hold for now. The current Linux/macOS and lint were passing on the pushed head, but we should not merge a linter backend that is not supported across the repo's CI platforms. Next step is either to wait for upstream Windows release assets or choose a different YAML linter backend with Windows support. |
6a4fade to
d7069db
Compare
|
Updated this PR to use Why this unblocks the earlier hold:
Local validation before pushing:
New CI is queued on head |
Signed-off-by: Gregor Zeitlinger <[email protected]>
Signed-off-by: Gregor Zeitlinger <[email protected]>
d7069db to
2fe0a68
Compare
|
Rebased the Validation after the rebase:
This keeps main's |
There was a problem hiding this comment.
Pull request overview
Updates Flint’s built-in YAML linting to use a GitHub-backed tool/binary that supports structured .yamllint.yml options, and adds a repo-level Yamllint config to allow longer lines.
Changes:
- Switch the
yaml-lintregistry check to run therylbinary and activate viagithub:owenlamont/ryl. - Add
.github/config/.yamllint.ymlwith YAML rule options (e.g.,line-length.max = 130). - Update fixtures, Renovate config, and docs to reflect the new tool key/binary.
Reviewed changes
Copilot reviewed 20 out of 20 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tests/cases/yaml-lint/failure/test.toml | Updates fake binary name to ryl for failure case. |
| tests/cases/yaml-lint/failure/files/mise.toml | Updates test mise tool key to github:owenlamont/ryl. |
| tests/cases/yaml-lint/clean/test.toml | Updates fake binary name to ryl for clean case. |
| tests/cases/yaml-lint/clean/files/mise.toml | Updates test mise tool key to github:owenlamont/ryl. |
| tests/cases/yaml-lint/auto-fix/test.toml | Updates fake binary name to ryl for auto-fix case. |
| tests/cases/yaml-lint/auto-fix/files/mise.toml | Updates test mise tool key to github:owenlamont/ryl. |
| tests/cases/general/list/test.toml | Adjusts “linters” output fixture and fake bins to show yaml-lint → binary ryl. |
| tests/cases/general/list/files/mise.toml | Updates list fixture toolchain snapshot from cargo:yaml-lint to github:owenlamont/ryl. |
| tests/cases/general/init-rust/test.toml | Updates init fixture to emit github:owenlamont/ryl under linters. |
| tests/cases/general/init-idempotent/files/mise.toml | Updates idempotent init fixture to include github:owenlamont/ryl. |
| src/registry/tests.rs | Updates registry key tests to assert ryl tool keys are present. |
| src/registry/mise.rs | Updates docs comment examples for alias normalization. |
| src/registry/checks.rs | Switches yaml-lint check command/binary to ryl and mise tool to github:owenlamont/ryl. |
| mise.toml | Updates this repo’s tool pin from cargo:yaml-lint to github:owenlamont/ryl. |
| docs/linters.md | Updates yaml-lint docs to list binary ryl. |
| default.json | Updates Renovate preset package list to track github:owenlamont/ryl. |
| README.md | Updates example mise tool list to use github:owenlamont/ryl. |
| .github/renovate.json5 | Adds github:owenlamont/ryl to Renovate grouping list. |
| .github/renovate-tracked-deps.json | Updates tracked dependency snapshot to include github:owenlamont/ryl. |
| .github/config/.yamllint.yml | Adds Yamllint config with max line length and indentation settings. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: Gregor Zeitlinger <[email protected]>
Signed-off-by: Gregor Zeitlinger <[email protected]>
Signed-off-by: Gregor Zeitlinger <[email protected]>
### Added - add flint setup preflight migrations ([#233](#233)) - support managed linter configs and aqua-backed tool keys ([#228](#228)) - switch xmloxide to github backend ([#229](#229)) - add taplo formatter check ([#224](#224)) - *(init)* configure line length during init ([#218](#218)) ### Fixed - support renovate v43.136.3 ([#223](#223)) - switch yaml-lint to ryl ([#226](#226)) - *(ruff)* install via github releases ([#227](#227)) - resolve init rollout regressions ([#220](#220)) ### Other - reduce fake-bin fixture coverage ([#240](#240)) - *(deps)* update dependency npm:renovate to v43.141.1 ([#221](#221)) - guard fixture case groups ([#238](#238)) - *(deps)* update dependency grafana/flint to v0.20.4 ([#235](#235)) - *(deps)* lock file maintenance ([#237](#237)) - *(deps)* update dependency mise to v2026.4.19 ([#236](#236)) - *(deps)* update rust crate json5 to v1 ([#232](#232)) - *(deps)* update taiki-e/install-action digest to 787505c ([#219](#219)) - *(deps)* update dependency grafana/flint to v0.20.3 ([#225](#225)) > [!IMPORTANT] > Close and reopen this PR to trigger CI checks. --------- Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> Co-authored-by: Gregor Zeitlinger <[email protected]>
What changed
yaml-lintfromcargo:yaml-lint = "0.1.0"togithub:owenlamont/ryl = "v0.6.0".github/config/.yamllint.ymlwith YAML-specific settings, includingline-length.max = 130yaml-lintcheck runs therylbinary from the GitHub-backed toolcargo:yaml-linttogithub:owenlamont/rylWhy
The crates.io
yaml-lint 0.1.0build does not honor structured.yamllint.ymlrule options likeline-length.maxandindentation.spaces. Therylrelease line does, publishes Windows assets, and supports--fix, so it works across this repo's CI platforms while keepingyaml-lintas the stable flint check name.Impact
cargo:yaml-lintget a clear obsolete-key failure and can migrate viaflint updateValidation
cargo test -q find_obsolete_key_detects_legacy_yaml_lint_backendcargo test -q linter_keys_include_mise_and_bare_tool_namescargo test -q readme_linter_table_in_syncmise run lint:fixmise exec -- cargo test -q