diff --git a/src/common/techs.ts b/src/common/techs.ts index ae4b0281..a378532e 100644 --- a/src/common/techs.ts +++ b/src/common/techs.ts @@ -53,6 +53,7 @@ export const list: TechItem[] = [ { key: 'gcp.datastore', name: 'Datastore', type: 'db' }, { key: 'gcp.cloudrun', name: 'Cloud Run', type: 'hosting' }, { key: 'gcp.functions', name: 'Functions', type: 'hosting' }, + { key: 'gcp.cloudbuild', name: 'Cloud Build', type: 'tool' }, { key: 'gcp.pubsub', name: 'PubSub', type: 'messaging' }, { key: 'gcp.gce', name: 'Compute Engine', type: 'hosting' }, { key: 'gcp.gcs', name: 'Cloud Storage', type: 'storage' }, diff --git a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap index f67810a8..b7112185 100644 --- a/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/nodejs/__snapshots__/component.test.ts.snap @@ -23,6 +23,7 @@ exports[`npm > should match everything 1`] = ` "gcp", "gcp.bigquery", "gcp.bigtable", + "gcp.cloudbuild", "gcp.cloudrun", "gcp.datastore", "gcp.dns", diff --git a/src/rules/spec/ruby/__snapshots__/component.test.ts.snap b/src/rules/spec/ruby/__snapshots__/component.test.ts.snap index b1a80fb3..e7c92e8c 100644 --- a/src/rules/spec/ruby/__snapshots__/component.test.ts.snap +++ b/src/rules/spec/ruby/__snapshots__/component.test.ts.snap @@ -179,6 +179,11 @@ exports[`ruby (component) > should match everything 2`] = ` "google-cloud-bigtable", "1.0.0", ], + [ + "ruby", + "google-cloud-build-v1", + "1.0.0", + ], [ "ruby", "google-cloud-compute", diff --git a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap index 4bbd7fe6..6cdb7d08 100644 --- a/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap +++ b/src/rules/spec/terraform/__snapshots__/resource.test.ts.snap @@ -6,6 +6,7 @@ exports[`terraform (resource) > should match everything 1`] = ` "gcp", "gcp.bigquery", "gcp.bigtable", + "gcp.cloudbuild", "gcp.cloudrun", "gcp.datastore", "gcp.dns", diff --git a/src/rules/tool/gcp.cloudbuild.ts b/src/rules/tool/gcp.cloudbuild.ts new file mode 100644 index 00000000..bbd00919 --- /dev/null +++ b/src/rules/tool/gcp.cloudbuild.ts @@ -0,0 +1,14 @@ +import { register } from '../../rules.js'; + +register({ + tech: 'gcp.cloudbuild', + dependencies: [ + { type: 'npm', name: '@google-cloud/cloudbuild' }, + { type: 'terraform.resource', name: 'google_cloudbuild_trigger' }, + { + type: 'ruby', + name: /^google-cloud-build/, + example: 'google-cloud-build-v1', + }, + ], +}); diff --git a/src/rules/tool/index.ts b/src/rules/tool/index.ts index a1094ca0..09d8ece5 100644 --- a/src/rules/tool/index.ts +++ b/src/rules/tool/index.ts @@ -1,3 +1,4 @@ +import './gcp.cloudbuild.js'; import './gitlab.js'; import './helm.js'; import './terragrunt.js'; diff --git a/src/types/techs.ts b/src/types/techs.ts index 2fe6cb06..9f9afdb7 100644 --- a/src/types/techs.ts +++ b/src/types/techs.ts @@ -60,6 +60,7 @@ export type AllowedKeys = | 'flyio' | 'gcp.bigquery' | 'gcp.bigtable' + | 'gcp.cloudbuild' | 'gcp.cloudrun' | 'gcp.datastore' | 'gcp.dns'