From d54ecb1f7f4c5d59655dacc836617462041881ed Mon Sep 17 00:00:00 2001 From: Andy Roth Date: Mon, 15 May 2023 09:21:57 -0700 Subject: [PATCH] feat(asdf): Add support for more ASDF plugins (#21942) Co-authored-by: Michael Kriese --- lib/modules/manager/asdf/extract.spec.ts | 81 ++++++++++++++++++- .../manager/asdf/upgradeable-tooling.ts | 78 ++++++++++++++++++ 2 files changed, 158 insertions(+), 1 deletion(-) diff --git a/lib/modules/manager/asdf/extract.spec.ts b/lib/modules/manager/asdf/extract.spec.ts index 4b9e67bf232326..931981f69c5491 100644 --- a/lib/modules/manager/asdf/extract.spec.ts +++ b/lib/modules/manager/asdf/extract.spec.ts @@ -43,10 +43,13 @@ describe('modules/manager/asdf/extract', () => { it('can handle multiple tools in one file', () => { const res = extractPackageFile( - codeBlock`argocd 2.5.4 + codeBlock` +adr-tools 3.0.0 +argocd 2.5.4 awscli 2.8.6 bun 0.2.2 cargo-make 0.36.2 +checkov 2.3.3 clojure 1.11.1.1182 crystal 1.6.1 dart 2.19.3 @@ -58,9 +61,12 @@ elixir 1.14.1 elm 0.19.1 erlang 25.1.2 flutter 3.7.6 +flux2 0.41.2 gauche 0.9.12 gohugo extended_0.104.3 golang 1.19.2 +golangci-lint 1.52.2 +hadolint 2.12.0 haskell 9.4.2 helm 3.10.1 helmfile 0.147.0 @@ -70,6 +76,7 @@ java adoptopenjdk-16.0.0+36 julia 1.8.2 just 1.7.0 kotlin 1.7.20 +kubectl 1.26.3 kustomize 4.5.7 lua 5.4.4 nim 1.6.8 @@ -79,6 +86,7 @@ perl 5.37.5 php 8.1.12 pnpm 7.26.2 poetry 1.3.2 +pre-commit 3.3.1 pulumi 3.57.1 python 3.11.0 ruby 3.1.2 @@ -87,7 +95,10 @@ scala 3.2.1 shellcheck 0.8.0 shfmt 3.5.1 terraform 1.3.3 +terraform-docs 0.16.0 terragrunt 0.43.2 +tflint 0.44.1 +tfsec 1.28.1 trivy 0.33.0 zig 0.9.1 maestro 1.24.0 @@ -98,6 +109,12 @@ dummy 1.2.3 ); expect(res).toEqual({ deps: [ + { + currentValue: '3.0.0', + datasource: 'github-tags', + packageName: 'npryce/adr-tools', + depName: 'adr-tools', + }, { currentValue: '2.5.4', datasource: 'github-releases', @@ -124,6 +141,12 @@ dummy 1.2.3 packageName: 'sagiegurari/cargo-make', depName: 'cargo-make', }, + { + currentValue: '2.3.3', + datasource: 'github-tags', + packageName: 'bridgecrewio/checkov', + depName: 'checkov', + }, { currentValue: '1.11.1.1182', datasource: 'github-tags', @@ -195,6 +218,13 @@ dummy 1.2.3 datasource: 'flutter-version', depName: 'flutter', }, + { + currentValue: '0.41.2', + datasource: 'github-tags', + packageName: 'fluxcd/flux2', + depName: 'flux2', + extractVersion: '^v(?.+)', + }, { currentValue: '0.9.12', datasource: 'docker', @@ -215,6 +245,20 @@ dummy 1.2.3 depName: 'golang', extractVersion: '^go(?\\S+)', }, + { + currentValue: '1.52.2', + datasource: 'github-tags', + packageName: 'golangci/golangci-lint', + depName: 'golangci-lint', + extractVersion: '^v(?.+)', + }, + { + currentValue: '2.12.0', + datasource: 'github-tags', + packageName: 'hadolint/hadolint', + depName: 'hadolint', + extractVersion: '^v(?.+)', + }, { currentValue: '9.4.2', datasource: 'github-tags', @@ -276,6 +320,13 @@ dummy 1.2.3 depName: 'kotlin', extractVersion: '^(Kotlin |v)(?\\S+)', }, + { + currentValue: '1.26.3', + datasource: 'github-tags', + packageName: 'kubernetes/kubernetes', + depName: 'kubectl', + extractVersion: '^v(?.+)', + }, { currentValue: '4.5.7', datasource: 'github-releases', @@ -335,6 +386,13 @@ dummy 1.2.3 packageName: 'poetry', depName: 'poetry', }, + { + currentValue: '3.3.1', + datasource: 'github-tags', + packageName: 'pre-commit/pre-commit', + depName: 'pre-commit', + extractVersion: '^v(?.+)', + }, { currentValue: '3.57.1', datasource: 'github-releases', @@ -389,6 +447,13 @@ dummy 1.2.3 depName: 'terraform', extractVersion: '^v(?\\S+)', }, + { + currentValue: '0.16.0', + datasource: 'github-tags', + packageName: 'terraform-docs/terraform-docs', + depName: 'terraform-docs', + extractVersion: '^v(?.+)', + }, { currentValue: '0.43.2', datasource: 'github-releases', @@ -396,6 +461,20 @@ dummy 1.2.3 depName: 'terragrunt', extractVersion: '^v(?\\S+)', }, + { + currentValue: '0.44.1', + datasource: 'github-tags', + packageName: 'terraform-linters/tflint', + depName: 'tflint', + extractVersion: '^v(?.+)', + }, + { + currentValue: '1.28.1', + datasource: 'github-tags', + packageName: 'aquasecurity/tfsec', + depName: 'tfsec', + extractVersion: '^v(?.+)', + }, { currentValue: '0.33.0', datasource: 'github-releases', diff --git a/lib/modules/manager/asdf/upgradeable-tooling.ts b/lib/modules/manager/asdf/upgradeable-tooling.ts index 921d1274af0276..3aefeb62c8dc30 100644 --- a/lib/modules/manager/asdf/upgradeable-tooling.ts +++ b/lib/modules/manager/asdf/upgradeable-tooling.ts @@ -38,6 +38,13 @@ const hugoDefinition: ToolingDefinition = { }; export const upgradeableTooling: Record = { + 'adr-tools': { + asdfPluginUrl: 'https://gitlab.com/td7x/asdf/adr-tools.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'npryce/adr-tools', + }, + }, argocd: { asdfPluginUrl: 'https://github.com/beardix/asdf-argocd', config: { @@ -68,6 +75,13 @@ export const upgradeableTooling: Record = { packageName: 'sagiegurari/cargo-make', }, }, + checkov: { + asdfPluginUrl: 'https://github.com/bosmak/asdf-checkov.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'bridgecrewio/checkov', + }, + }, clojure: { asdfPluginUrl: 'https://github.com/asdf-community/asdf-clojure', config: { @@ -148,6 +162,14 @@ export const upgradeableTooling: Record = { datasource: FlutterVersionDatasource.id, }, }, + flux2: { + asdfPluginUrl: 'https://github.com/tablexi/asdf-flux2.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'fluxcd/flux2', + extractVersion: '^v(?.+)', + }, + }, gauche: { asdfPluginUrl: 'https://github.com/sakuro/asdf-gauche', config: { @@ -164,6 +186,22 @@ export const upgradeableTooling: Record = { extractVersion: '^go(?\\S+)', }, }, + 'golangci-lint': { + asdfPluginUrl: 'https://github.com/hypnoglow/asdf-golangci-lint.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'golangci/golangci-lint', + extractVersion: '^v(?.+)', + }, + }, + hadolint: { + asdfPluginUrl: 'https://github.com/looztra/asdf-hadolint.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'hadolint/hadolint', + extractVersion: '^v(?.+)', + }, + }, haskell: { asdfPluginUrl: 'https://github.com/asdf-community/asdf-haskell', config: { @@ -247,6 +285,14 @@ export const upgradeableTooling: Record = { extractVersion: '^(Kotlin |v)(?\\S+)', }, }, + kubectl: { + asdfPluginUrl: 'https://github.com/Banno/asdf-kubectl.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'kubernetes/kubernetes', + extractVersion: '^v(?.+)', + }, + }, kustomize: { asdfPluginUrl: 'https://github.com/Banno/asdf-kustomize', config: { @@ -316,6 +362,14 @@ export const upgradeableTooling: Record = { packageName: 'poetry', }, }, + 'pre-commit': { + asdfPluginUrl: 'https://github.com/jonathanmorley/asdf-pre-commit.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'pre-commit/pre-commit', + extractVersion: '^v(?.+)', + }, + }, pulumi: { asdfPluginUrl: 'https://github.com/canha/asdf-pulumi.git', config: { @@ -399,6 +453,14 @@ export const upgradeableTooling: Record = { extractVersion: '^v(?\\S+)', }, }, + 'terraform-docs': { + asdfPluginUrl: 'https://github.com/looztra/asdf-terraform-docs.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'terraform-docs/terraform-docs', + extractVersion: '^v(?.+)', + }, + }, terragrunt: { asdfPluginUrl: 'https://github.com/ohmer/asdf-terragrunt', config: { @@ -407,6 +469,22 @@ export const upgradeableTooling: Record = { extractVersion: '^v(?\\S+)', }, }, + tflint: { + asdfPluginUrl: 'https://github.com/skyzyx/asdf-tflint.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'terraform-linters/tflint', + extractVersion: '^v(?.+)', + }, + }, + tfsec: { + asdfPluginUrl: 'https://github.com/woneill/asdf-tfsec.git', + config: { + datasource: GithubTagsDatasource.id, + packageName: 'aquasecurity/tfsec', + extractVersion: '^v(?.+)', + }, + }, trivy: { asdfPluginUrl: 'https://github.com/zufardhiyaulhaq/asdf-trivy', config: {