Skip to content

Commit 8e24cc8

Browse files
authored
ci: Add cloudbuild config file for private instance testing (#2422)
1 parent 42d5956 commit 8e24cc8

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed

.ci/cloudbuild.yaml

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
# Copyright 2025 Google LLC
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
steps:
16+
17+
- id: run integration tests
18+
name: golang:${_VERSION}
19+
env:
20+
[
21+
"IP_TYPE=${_IP_TYPE}",
22+
"GOOGLE_CLOUD_PROJECT=${PROJECT_ID}",
23+
"TMPDIR=/tmp"
24+
]
25+
secretEnv:
26+
[
27+
"MYSQL_CONNECTION_NAME",
28+
"MYSQL_USER",
29+
"MYSQL_PASS",
30+
"MYSQL_DB",
31+
"POSTGRES_CONNECTION_NAME",
32+
"POSTGRES_USER",
33+
"POSTGRES_USER_IAM",
34+
"POSTGRES_PASS",
35+
"POSTGRES_DB",
36+
"POSTGRES_CAS_CONNECTION_NAME",
37+
"POSTGRES_CAS_PASS",
38+
"POSTGRES_CUSTOMER_CAS_CONNECTION_NAME",
39+
"POSTGRES_CUSTOMER_CAS_PASS",
40+
"POSTGRES_CUSTOMER_CAS_DOMAIN_NAME",
41+
"SQLSERVER_CONNECTION_NAME",
42+
"SQLSERVER_USER",
43+
"SQLSERVER_PASS",
44+
"SQLSERVER_DB",
45+
"IMPERSONATED_USER",
46+
]
47+
entrypoint: bash
48+
args:
49+
- -c
50+
- |
51+
go test -race -v ./tests/...
52+
53+
substitutions:
54+
_VERSION: ${_VERSION}
55+
_IP_TYPE: ${_IP_TYPE}
56+
57+
availableSecrets:
58+
secretManager:
59+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_CONNECTION_NAME/versions/latest"
60+
env: "MYSQL_CONNECTION_NAME"
61+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_USER/versions/latest"
62+
env: "MYSQL_USER"
63+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_PASS/versions/latest"
64+
env: "MYSQL_PASS"
65+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_DB/versions/latest"
66+
env: "MYSQL_DB"
67+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CONNECTION_NAME/versions/latest"
68+
env: "POSTGRES_CONNECTION_NAME"
69+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_USER/versions/latest"
70+
env: "POSTGRES_USER"
71+
- versionName: "projects/$PROJECT_ID/secrets/CLOUD_BUILD_POSTGRES_IAM_USER/versions/latest"
72+
env: "POSTGRES_USER_IAM"
73+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_PASS/versions/latest"
74+
env: "POSTGRES_PASS"
75+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_DB/versions/latest"
76+
env: "POSTGRES_DB"
77+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CAS_CONNECTION_NAME/versions/latest"
78+
env: "POSTGRES_CAS_CONNECTION_NAME"
79+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CAS_PASS/versions/latest"
80+
env: "POSTGRES_CAS_PASS"
81+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_CONNECTION_NAME/versions/latest"
82+
env: "POSTGRES_CUSTOMER_CAS_CONNECTION_NAME"
83+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_PASS/versions/latest"
84+
env: "POSTGRES_CUSTOMER_CAS_PASS"
85+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_DOMAIN_NAME/versions/latest"
86+
env: "POSTGRES_CUSTOMER_CAS_DOMAIN_NAME"
87+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_CONNECTION_NAME/versions/latest"
88+
env: "SQLSERVER_CONNECTION_NAME"
89+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_USER/versions/latest"
90+
env: "SQLSERVER_USER"
91+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_PASS/versions/latest"
92+
env: "SQLSERVER_PASS"
93+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_DB/versions/latest"
94+
env: "SQLSERVER_DB"
95+
- versionName: "projects/$PROJECT_ID/secrets/CLOUD_BUILD_SA/versions/latest"
96+
env: "IMPERSONATED_USER"
97+
98+
options:
99+
dynamicSubstitutions: true
100+
pool:
101+
name: ${_POOL_NAME}
102+
logging: CLOUD_LOGGING_ONLY

0 commit comments

Comments
 (0)