Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
95 changes: 48 additions & 47 deletions .github/renovate.json5
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
{
$schema: "https://docs.renovatebot.com/renovate-schema.json",
$schema: 'https://docs.renovatebot.com/renovate-schema.json',
extends: [
"config:recommended"
'config:recommended',
],
configMigration: true,
prHourlyLimit: 1,
schedule: [ // utc timezone
schedule: [
'after 6am on monday',
],
enabledManagers: [
Expand All @@ -14,16 +14,15 @@
'github-actions',
],
dockerfile: {
fileMatch: [
'Earthfile',
managerFilePatterns: [
'/Earthfile/',
],
},
customManagers: [
{
// Earthly Version in GH Actions
customType: 'regex',
fileMatch: [
'.*?\\.yml',
managerFilePatterns: [
'/.*?\\.yml/',
],
matchStrings: [
'- uses: earthly/actions/setup-earthly@.*?[\\s\\n]+.*?[\\s\\n]+with:[\\s\\n]*version: (?<currentValue>.*?)[\\s\\n/]+',
Expand All @@ -32,20 +31,18 @@
datasourceTemplate: 'github-releases',
},
{
// ARG/LET in Earthfile that have a Renovate comment
customType: 'regex',
fileMatch: [
'Earthfile',
managerFilePatterns: [
'/Earthfile/',
],
matchStrings: [
'\\s*#\\s*renovate:\\s*datasource=(?<datasource>.*?)\\s+depName=(?<depName>.*?)[\\s\\n]+(versioning=(?<versioning>.*?)\\s+)?(ARG|LET)\\s+.*?(_VERSION|_VER|version)=(?<currentValue>.*?)($|\\s|\\n)',
],
},
{
// Updating the Repology alpine version
customType: 'regex',
fileMatch: [
'Earthfile',
managerFilePatterns: [
'/Earthfile/',
],
matchStrings: [
'# renovate: datasource=repology depName=alpine_(?<currentValue>\\d+_\\d+)',
Expand All @@ -57,9 +54,10 @@
autoReplaceStringTemplate: '# renovate: datasource=repology depName=alpine_{{{newMajor}}}_{{{newMinor}}}',
},
{
// Updating the commit hash of earthly/earthly
customType: 'regex',
fileMatch: ['^\\.arg$'],
managerFilePatterns: [
'/^\\.arg$/',
],
matchStrings: [
'EARTHLY_REPO_VERSION=(?<currentDigest>.*?)($|\\s|\\n)',
],
Expand All @@ -70,8 +68,8 @@
},
{
customType: 'regex',
fileMatch: [
'docs/dockerhub.md$',
managerFilePatterns: [
'/docs/dockerhub.md$/',
],
matchStrings: [
'\\*\\s+\\`(?<currentValue>.+?)\\`\\n',
Expand All @@ -84,14 +82,8 @@
'renovate',
],
packageRules: [
// set the group name for alpine dind dependencies
{
groupName: "{{{ replace 'os\\/(.*?)$' '$1' packageFileDir}}}-dind-image",
matchPackagePatterns: [
'alpine',
'alpine.*?/docker',
'docker/docker',
],
matchManagers: [
'custom.regex',
],
Expand All @@ -103,46 +95,55 @@
matchFileNames: [
'os/**/Earthfile',
],
matchPackageNames: [
'/alpine/',
'/alpine.*?/docker/',
'/docker/docker/',
],
},
{
// let all package updates auto merge
matchPackagePatterns: [ '*' ],
automerge: true,
matchPackageNames: [
'*',
],
},
{
// rule to update earthly/dind:alpine-* images
groupName: 'docs-dind-images',
matchPackageNames: ['earthly/dind'],
matchCurrentVersion: "/^alpine-.*/",
allowedVersions: "/^alpine-.*/",
versioning: "regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-r(?<revision>\\d+)$",
matchPackageNames: [
'earthly/dind',
],
matchCurrentVersion: '/^alpine-.*/',
allowedVersions: '/^alpine-.*/',
versioning: 'regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-r(?<revision>\\d+)$',
},
{
// rule to update earthly/dind:ubuntu:20.04-* images
groupName: 'docs-dind-images',
matchPackageNames: ['earthly/dind'],
matchCurrentVersion: "/^ubuntu-20\\.04-.*/",
allowedVersions: "/^ubuntu-20\\.04-.*/",
versioning: "regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-(?<revision>\\d+)$",
matchPackageNames: [
'earthly/dind',
],
matchCurrentVersion: '/^ubuntu-20\\.04-.*/',
allowedVersions: '/^ubuntu-20\\.04-.*/',
versioning: 'regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-(?<revision>\\d+)$',
},
{
// rule to update earthly/dind:ubuntu:23.04-* images
groupName: 'docs-dind-images',
matchPackageNames: ['earthly/dind'],
matchCurrentVersion: "/^ubuntu-23\\.04-.*/",
allowedVersions: "/^ubuntu-23\\.04-.*/",
versioning: "regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-(?<revision>\\d+)$",
matchPackageNames: [
'earthly/dind',
],
matchCurrentVersion: '/^ubuntu-23\\.04-.*/',
allowedVersions: '/^ubuntu-23\\.04-.*/',
versioning: 'regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-(?<revision>\\d+)$',
},
{
// rule to update earthly/dind:ubuntu:24.04-* images
groupName: 'docs-dind-images',
matchPackageNames: ['earthly/dind'],
matchCurrentVersion: "/^ubuntu-24\\.04-.*/",
allowedVersions: "/^ubuntu-24\\.04-.*/",
versioning: "regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-(?<revision>\\d+)$",
matchPackageNames: [
'earthly/dind',
],
matchCurrentVersion: '/^ubuntu-24\\.04-.*/',
allowedVersions: '/^ubuntu-24\\.04-.*/',
versioning: 'regex:^(?<compatibility>.*)-(?<major>\\d+\\.\\d+)-docker-(?<minor>\\d+)\\.(?<patch>\\d+)\\.(?<build>\\d+)-(?<revision>\\d+)$',
},
{
// create PRs for multiple docker versions in case we're more than one major version behind
matchPackageNames: [
'docker/docker',
],
Expand Down
Loading