Skip to content

chore: EXPERIMENTAL remove Renovate annotations from tool-versions

This change allows us to remove common annotations from .tool-versions.

So instead of:

shellcheck 0.10.0 # datasource=github-releases depName=koalaman/shellcheck
shfmt 3.11.0 # datasource=github-releases depName=mvdan/sh
yq 4.45.1 # datasource=github-releases depName=mikefarah/yq

We can just use:

shellcheck 0.10.0
shfmt 3.11.0
yq 4.45.1

For well-known dependencies, we define the lookup centrally in src/renovate-config/known-versions.jsonnet.

In future this will give us better control, for instance for change configurations to use common-ci-task-images for lookup rather than GitHub Releases. This is preferable since, in some cases, we don't have our own CI image yet, leading to situations where dependency upgrades fail due to this race condition.

This approach will be beneficial in that we can define better, more centralized configurations rather than having this scattered across many projects.

NOTE: any line in .tool-versions that has a comment after the version will revert to the original behaviour of using the comment annotation approach. Only non-commented lines will use this new approach

Experimental

Before this is rolled-out, we test it on the common-ci-tasks project only.

Once we know that it works as expected, we can start stripping known dependencies using copier across all projects.

As such, it only adds the dependencies that common-ci-tasks currently relies on.

Unfortunately, our ability to test this on a branch is limited, so we merge first, evaluate and then proceed forward.

Edited by Andrew Newdigate

Merge request reports

Loading