feat: enable renovate

Enable renovate for timely dependency updates.

Signed-off-by: Noel Georgi <git@frezbo.dev>
This commit is contained in:
Noel Georgi 2023-01-23 20:02:50 +05:30
parent 3e00571627
commit bb4937f1b3
No known key found for this signature in database
GPG Key ID: 21A9F444075C9E36
4 changed files with 101 additions and 58 deletions

View File

@ -1,55 +0,0 @@
---
# See https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates
version: 2
updates:
- package-ecosystem: "gomod"
directory: "/"
commit-message:
prefix: "chore:"
open-pull-requests-limit: 10
rebase-strategy: disabled
schedule:
interval: "weekly"
day: "monday"
time: "01:00"
timezone: "UTC"
- package-ecosystem: "gomod"
directory: "/pkg/machinery"
commit-message:
prefix: "chore:"
open-pull-requests-limit: 10
rebase-strategy: disabled
schedule:
interval: "weekly"
day: "monday"
time: "01:00"
timezone: "UTC"
- package-ecosystem: "gomod"
directory: "/hack/cloud-image-uploader"
commit-message:
prefix: "chore:"
open-pull-requests-limit: 10
rebase-strategy: disabled
schedule:
interval: "weekly"
day: "monday"
time: "01:00"
timezone: "UTC"
- package-ecosystem: "docker"
directory: "/"
commit-message:
prefix: "chore:"
open-pull-requests-limit: 10
rebase-strategy: disabled
schedule:
interval: "weekly"
day: "monday"
time: "01:00"
timezone: "UTC"
# no website for now

79
.github/renovate.json vendored Normal file
View File

@ -0,0 +1,79 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
":dependencyDashboard",
":gitSignOff",
":semanticCommitScopeDisabled",
"schedule:earlyMondays"
],
"prHeader": "Update Request | Renovate Bot",
"regexManagers": [
{
"fileMatch": [
"Makefile"
],
"matchStrings": [
"# renovate: datasource=(?<datasource>.*?) depName=(?<depName>.+?)\\s.*_VERSION\\s+\\?=\\s+(?<currentValue>.+)"
],
"versioningTemplate": "semver"
},
{
"fileMatch": [
"pkg/machinery/constants/constants.go"
],
"matchStrings": [
"\\/\\/\\s+renovate: datasource=(?<datasource>.*?)(?:\\s+extractVersion=(?<extractVersion>.+?))?(?:\\s+versioning=(?<versioning>.+?))?\\s+depName=(?<depName>.+?)?\\s.*Version\\s+=\\s+\\\"(?<currentValue>.+?)\\\""
],
"versioningTemplate": "{{#if versioning}}{{versioning}}{{else}}semver{{/if}}"
}
],
"packageRules": [
{
"matchPackageNames": [
"golang/go"
],
"versioning": "regex:^(?<major>\\d+)\\.(?<minor>\\d+)\\.?(?<patch>\\d+)?$",
"extractVersionTemplate": "^go(?<version>.*)$"
},
{
"matchPackagePatterns": [
"*"
],
"matchDatasources": [
"docker"
],
"groupName": "container images"
},
{
"matchPackagePatterns": [
"*"
],
"matchDatasources": [
"go",
"golang-version"
],
"groupName": "go packages"
},
{
"matchPackagePatterns": [
"*"
],
"matchDatasources": [
"npm"
],
"groupName": "node packages"
},
{
"matchPackagePatterns": [
"*"
],
"matchDatasources": [
"git-refs",
"git-tags",
"github-tags",
"github-releases"
],
"groupName": "releases"
}
]
}

View File

@ -16,24 +16,40 @@ ARTIFACTS := _out
TOOLS ?= ghcr.io/siderolabs/tools:v1.4.0-alpha.0-5-g763c1d9
PKGS ?= v1.4.0-alpha.0-11-ge561dcb
EXTRAS ?= v1.4.0-alpha.0-2-g8cb4792
# renovate: datasource=github-tags depName=golang/go
GO_VERSION ?= 1.19
# renovate: datasource=go depName=golang.org/x/tools
GOIMPORTS_VERSION ?= v0.5.0
# renovate: datasource=go depName=mvdan.cc/gofumpt
GOFUMPT_VERSION ?= v0.4.0
# renovate: datasource=go depName=github.com/golangci/golangci-lint
GOLANGCILINT_VERSION ?= v1.50.1
# renovate: datasource=go depName=golang.org/x/tools
STRINGER_VERSION ?= v0.1.12
# renovate: datasource=go depName=github.com/alvaroloes/enumer
ENUMER_VERSION ?= v1.1.2
# renovate: datasource=go depName=k8s.io/code-generator
DEEPCOPY_GEN_VERSION ?= v0.21.3
# renovate: datasource=go depName=github.com/planetscale/vtprotobuf
VTPROTOBUF_VERSION ?= v0.2.0
# renovate: datasource=go depName=github.com/siderolabs/deep-copy
DEEPCOPY_VERSION ?= v0.5.5
IMPORTVET ?= ghcr.io/siderolabs/importvet:1549a5c
OPERATING_SYSTEM := $(shell uname -s | tr "[:upper:]" "[:lower:]")
TALOSCTL_DEFAULT_TARGET := talosctl-$(OPERATING_SYSTEM)
INTEGRATION_TEST_DEFAULT_TARGET := integration-test-$(OPERATING_SYSTEM)
INTEGRATION_TEST_PROVISION_DEFAULT_TARGET := integration-test-provision-$(OPERATING_SYSTEM)
KUBECTL_URL ?= https://storage.googleapis.com/kubernetes-release/release/v1.26.1/bin/$(OPERATING_SYSTEM)/amd64/kubectl
KUBESTR_URL ?= https://github.com/kastenhq/kubestr/releases/download/v0.4.34/kubestr_0.4.34_Linux_amd64.tar.gz
HELM_URL ?= https://get.helm.sh/helm-v3.9.2-linux-amd64.tar.gz
# renovate: datasource=github-releases depName=kubernetes/kubernetes
KUBECTL_VERSION ?= v1.26.1
# renovate: datasource=github-releases depName=kastenhq/kubestr
KUBESTR_VERSION ?= v0.4.34
# renovate: datasource=github-releases depName=helm/helm
HELM_VERSION ?= v3.9.2
# renovate: datasource=github-releases depName=kubernetes-sigs/cluster-api
CLUSTERCTL_VERSION ?= 1.1.3
KUBECTL_URL ?= https://storage.googleapis.com/kubernetes-release/release/$(KUBECTL_VERSION)/bin/$(OPERATING_SYSTEM)/amd64/kubectl
KUBESTR_URL ?= https://github.com/kastenhq/kubestr/releases/download/$(KUBESTR_VERSION)/kubestr_$(subst v,,$(KUBESTR_VERSION))_Linux_amd64.tar.gz
HELM_URL ?= https://get.helm.sh/helm-$(HELM_VERSION)-linux-amd64.tar.gz
CLUSTERCTL_URL ?= https://github.com/kubernetes-sigs/cluster-api/releases/download/v$(CLUSTERCTL_VERSION)/clusterctl-$(OPERATING_SYSTEM)-amd64
TESTPKGS ?= github.com/siderolabs/talos/...
RELEASES ?= v1.1.2 v1.2.6

View File

@ -297,6 +297,7 @@ const (
SeccompProfilesDirectory = "/var/lib/kubelet/seccomp/profiles"
// DefaultKubernetesVersion is the default target version of the control plane.
// renovate: datasource=github-releases depName=kubernetes/kubernetes
DefaultKubernetesVersion = "1.26.1"
// DefaultControlPlanePort is the default port to use for the control plane.
@ -324,6 +325,7 @@ const (
CoreDNSImage = "docker.io/coredns/coredns"
// DefaultCoreDNSVersion is the default version for the CoreDNS.
// renovate: datasource=github-releases depName=coredns/coredns
DefaultCoreDNSVersion = "1.10.0"
// LabelNodeRoleMaster is the node label required by a control plane node.
@ -354,6 +356,7 @@ const (
KubeletSystemReservedEphemeralStorage = "256Mi"
// DefaultEtcdVersion is the default target version of etcd.
// renovate: datasource=github-releases depName=etcd-io/etcd
DefaultEtcdVersion = "v3.5.7"
// EtcdRootTalosKey is the root etcd key for Talos-specific storage.