fix: Update Renovate config to match gitlab-ci components
What
This change adds automatic version updating for GitLab CI components used in projects. It includes a migration script that modifies the project's renovation configuration file to recognize and update version numbers in GitLab CI files. The script intelligently handles different configuration formats and adds the necessary rules to track component versions. Additionally, it updates the default template to include these version tracking rules for new projects. This ensures that when GitLab CI components are updated, the project will automatically get notifications to upgrade to newer versions, helping keep dependencies current and secure.
Why
Projects that have been migrated to use common-ci-tasks as components do not correctly update the versions in .gitlab-ci.yml.
Example renovate log:
{
"datasource": "gitlab-tags",
"depName": "gitlab-com/gl-infra/common-ci-tasks",
"depType": "repository",
"currentValue": "v2.81",
"registryUrls": ["https://$CI_SERVER_FQDN"],
"versioning": "semver-coerced",
"updates": [],
"packageName": "gitlab-com/gl-infra/common-ci-tasks",
"warnings": [
{
"topic": "gitlab-com/gl-infra/common-ci-tasks",
"message": "Failed to look up gitlab-tags package gitlab-com/gl-infra/common-ci-tasks"
}
]
},
Links to relevant issues
Closes #8