Skip to content

Commit f9ba6e7

Browse files
committed
build: add cloudbuild.yaml file for PSA tests
1 parent ccd414c commit f9ba6e7

File tree

1 file changed

+88
-0
lines changed

1 file changed

+88
-0
lines changed

.cl/cloudbuild.yaml

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
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 integration tests for python version 3.9
17+
name: python:${_PYTHON_3.9}
18+
entrypoint: bash
19+
env:
20+
- "IP_TYPE=private"
21+
secretEnv: ["MYSQL_CONNECTION_NAME", "MYSQL_USER", "MYSQL_IAM_USER", "MYSQL_PASS", "MYSQL_DB", "POSTGRES_CONNECTION_NAME", "POSTGRES_USER", "POSTGRES_IAM_USER", "POSTGRES_PASS", "POSTGRES_DB", "POSTGRES_CAS_CONNECTION_NAME", "POSTGRES_CAS_PASS", "POSTGRES_CUSTOMER_CAS_CONNECTION_NAME", "POSTGRES_CUSTOMER_CAS_PASS", "POSTGRES_CUSTOMER_CAS_PASS_VALID_DOMAIN_NAME","SQLSERVER_CONNECTION_NAME", "SQLSERVER_USER", "SQLSERVER_PASS", "SQLSERVER_DB"]
22+
args:
23+
- "-c"
24+
- |
25+
pip install nox
26+
nox -s system-${_PYTHON_3.9}
27+
waitFor: ["-"]
28+
- id: run integration tests for python version 3.13
29+
name: python:${_PYTHON_3.13}
30+
entrypoint: bash
31+
env:
32+
- "IP_TYPE=private"
33+
secretEnv: ["MYSQL_CONNECTION_NAME", "MYSQL_USER", "MYSQL_IAM_USER", "MYSQL_PASS", "MYSQL_DB", "POSTGRES_CONNECTION_NAME", "POSTGRES_USER", "POSTGRES_IAM_USER", "POSTGRES_PASS", "POSTGRES_DB", "POSTGRES_CAS_CONNECTION_NAME", "POSTGRES_CAS_PASS", "POSTGRES_CUSTOMER_CAS_CONNECTION_NAME", "POSTGRES_CUSTOMER_CAS_PASS", "POSTGRES_CUSTOMER_CAS_PASS_VALID_DOMAIN_NAME","SQLSERVER_CONNECTION_NAME", "SQLSERVER_USER", "SQLSERVER_PASS", "SQLSERVER_DB"]
34+
args:
35+
- "-c"
36+
- |
37+
pip install nox
38+
nox -s system-${_PYTHON_3.13}
39+
waitFor: ["-"]
40+
availableSecrets:
41+
secretManager:
42+
- versionName: 'projects/$PROJECT_ID/secrets/MYSQL_CONNECTION_NAME/versions/latest'
43+
env: 'MYSQL_CONNECTION_NAME'
44+
- versionName: 'projects/$PROJECT_ID/secrets/MYSQL_USER/versions/latest'
45+
env: 'MYSQL_USER'
46+
- versionName: 'projects/$PROJECT_ID/secrets/CLOUD_BUILD_MYSQL_IAM_USER/versions/latest'
47+
env: 'MYSQL_IAM_USER'
48+
- versionName: 'projects/$PROJECT_ID/secrets/MYSQL_PASS/versions/latest'
49+
env: 'MYSQL_PASS'
50+
- versionName: 'projects/$PROJECT_ID/secrets/MYSQL_DB/versions/latest'
51+
env: 'MYSQL_DB'
52+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_CONNECTION_NAME/versions/latest'
53+
env: 'POSTGRES_CONNECTION_NAME'
54+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_USER/versions/latest'
55+
env: 'POSTGRES_USER'
56+
- versionName: 'projects/$PROJECT_ID/secrets/CLOUD_BUILD_POSTGRES_IAM_USER/versions/latest'
57+
env: 'POSTGRES_IAM_USER'
58+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_PASS/versions/latest'
59+
env: 'POSTGRES_PASS'
60+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_DB/versions/latest'
61+
env: 'POSTGRES_DB'
62+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_CAS_CONNECTION_NAME/versions/latest'
63+
env: 'POSTGRES_CAS_CONNECTION_NAME'
64+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_CAS_PASS/versions/latest'
65+
env: 'POSTGRES_CAS_PASS'
66+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_CONNECTION_NAME/versions/latest'
67+
env: 'POSTGRES_CUSTOMER_CAS_CONNECTION_NAME'
68+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_PASS/versions/latest'
69+
env: 'POSTGRES_CUSTOMER_CAS_PASS'
70+
- versionName: 'projects/$PROJECT_ID/secrets/POSTGRES_CUSTOMER_CAS_PASS_VALID_DOMAIN_NAME/versions/latest'
71+
env: 'POSTGRES_CUSTOMER_CAS_PASS_VALID_DOMAIN_NAME'
72+
- versionName: 'projects/$PROJECT_ID/secrets/SQLSERVER_CONNECTION_NAME/versions/latest'
73+
env: 'SQLSERVER_CONNECTION_NAME'
74+
- versionName: 'projects/$PROJECT_ID/secrets/SQLSERVER_USER/versions/latest'
75+
env: 'SQLSERVER_USER'
76+
- versionName: 'projects/$PROJECT_ID/secrets/SQLSERVER_PASS/versions/latest'
77+
env: 'SQLSERVER_PASS'
78+
- versionName: 'projects/$PROJECT_ID/secrets/SQLSERVER_DB/versions/latest'
79+
env: 'SQLSERVER_DB'
80+
substitutions:
81+
_PYTHON_3.13: '3.13'
82+
_PYTHON_3.9: '3.9'
83+
84+
options:
85+
dynamicSubstitutions: true
86+
pool:
87+
name: ${_POOL_NAME}
88+
logging: CLOUD_LOGGING_ONLY

0 commit comments

Comments
 (0)