Skip to content

Commit 0da6c9d

Browse files
authored
ci: add cloudbuild.yaml file for PSA tests (GoogleCloudPlatform#964)
* chore: add cloudbuild.yaml file for PSA tests
1 parent 5b9d984 commit 0da6c9d

File tree

1 file changed

+103
-0
lines changed

1 file changed

+103
-0
lines changed

.ci/cloudbuild.yaml

Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
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+
- id: run mysql integration tests
17+
name: golang:${_VERSION}
18+
entrypoint: bash
19+
env:
20+
- "IP_TYPE=${_IP_TYPE}"
21+
secretEnv:
22+
[
23+
"MYSQL_CONNECTION_NAME",
24+
"MYSQL_USER",
25+
"MYSQL_USER_IAM",
26+
"MYSQL_PASS",
27+
"MYSQL_DB",
28+
"POSTGRES_CONNECTION_NAME",
29+
"POSTGRES_USER",
30+
"POSTGRES_USER_IAM",
31+
"POSTGRES_PASS",
32+
"POSTGRES_DB",
33+
"POSTGRES_CAS_CONNECTION_NAME",
34+
"POSTGRES_CAS_PASS",
35+
"POSTGRES_CUSTOMER_CAS_CONNECTION_NAME",
36+
"POSTGRES_CUSTOMER_CAS_PASS",
37+
"POSTGRES_CUSTOMER_CAS_DOMAIN_NAME",
38+
"POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME",
39+
"SQLSERVER_CONNECTION_NAME",
40+
"SQLSERVER_USER",
41+
"SQLSERVER_PASS",
42+
"SQLSERVER_DB",
43+
"QUOTA_PROJECT"
44+
]
45+
args:
46+
- -c
47+
- |
48+
go test -v -race -cover ./e2e_mysql_test.go ./e2e_sqlserver_test.go ./e2e_postgres_test.go
49+
50+
availableSecrets:
51+
secretManager:
52+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_CONNECTION_NAME/versions/latest"
53+
env: "MYSQL_CONNECTION_NAME"
54+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_USER/versions/latest"
55+
env: "MYSQL_USER"
56+
- versionName: "projects/$PROJECT_ID/secrets/CLOUD_BUILD_MYSQL_IAM_USER/versions/latest"
57+
env: "MYSQL_USER_IAM"
58+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_PASS/versions/latest"
59+
env: "MYSQL_PASS"
60+
- versionName: "projects/$PROJECT_ID/secrets/MYSQL_DB/versions/latest"
61+
env: "MYSQL_DB"
62+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CONNECTION_NAME/versions/latest"
63+
env: "POSTGRES_CONNECTION_NAME"
64+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_USER/versions/latest"
65+
env: "POSTGRES_USER"
66+
- versionName: "projects/$PROJECT_ID/secrets/CLOUD_BUILD_POSTGRES_IAM_USER/versions/latest"
67+
env: "POSTGRES_USER_IAM"
68+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_PASS/versions/latest"
69+
env: "POSTGRES_PASS"
70+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_DB/versions/latest"
71+
env: "POSTGRES_DB"
72+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CAS_CONNECTION_NAME/versions/latest"
73+
env: "POSTGRES_CAS_CONNECTION_NAME"
74+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CAS_PASS/versions/latest"
75+
env: "POSTGRES_CAS_PASS"
76+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_CONNECTION_NAME/versions/latest"
77+
env: "POSTGRES_CUSTOMER_CAS_CONNECTION_NAME"
78+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_PASS/versions/latest"
79+
env: "POSTGRES_CUSTOMER_CAS_PASS"
80+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_DOMAIN_NAME/versions/latest"
81+
env: "POSTGRES_CUSTOMER_CAS_DOMAIN_NAME"
82+
- versionName: "projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME/versions/latest"
83+
env: "POSTGRES_CUSTOMER_CAS_INVALID_DOMAIN_NAME"
84+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_CONNECTION_NAME/versions/latest"
85+
env: "SQLSERVER_CONNECTION_NAME"
86+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_USER/versions/latest"
87+
env: "SQLSERVER_USER"
88+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_PASS/versions/latest"
89+
env: "SQLSERVER_PASS"
90+
- versionName: "projects/$PROJECT_ID/secrets/SQLSERVER_DB/versions/latest"
91+
env: "SQLSERVER_DB"
92+
- versionName: "projects/$PROJECT_ID/secrets/QUOTA_PROJECT/versions/latest"
93+
env: "QUOTA_PROJECT"
94+
95+
substitutions:
96+
_VERSION: ${_VERSION}
97+
_IP_TYPE: ${_IP_TYPE}
98+
99+
options:
100+
dynamicSubstitutions: true
101+
pool:
102+
name: ${_POOL_NAME}
103+
logging: CLOUD_LOGGING_ONLY

0 commit comments

Comments
 (0)