-
Notifications
You must be signed in to change notification settings - Fork 10
/
integration.cloudbuild.yaml
85 lines (78 loc) · 2.75 KB
/
integration.cloudbuild.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
# Copyright 2024 Google LLC
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
steps:
- id: Install dependencies
name: python:${_VERSION}
entrypoint: pip
args: ["install", "--user", "-r", "requirements.txt"]
- id: Install module (and test requirements)
name: python:${_VERSION}
entrypoint: pip
args: ["install", ".[test]", "--user"]
- id: proxy-install
name: alpine:3.10
entrypoint: sh
args:
- -c
- |
wget -O /workspace/alloydb-auth-proxy https://storage.googleapis.com/alloydb-auth-proxy/v1.11.0/alloydb-auth-proxy.linux.386
chmod +x /workspace/alloydb-auth-proxy
- id: Run integration tests
name: python:${_VERSION}
entrypoint: /bin/bash
args:
- "-c"
- |
/workspace/alloydb-auth-proxy --port ${_DATABASE_PORT} ${_INSTANCE_CONNECTION_NAME} & sleep 2;
python -m pytest --cov=langchain_google_alloydb_pg --cov-config=.coveragerc tests/
env:
- "PROJECT_ID=$PROJECT_ID"
- "INSTANCE_ID=$_INSTANCE_ID"
- "CLUSTER_ID=$_CLUSTER_ID"
- "DATABASE_ID=$_DATABASE_ID"
- "REGION=$_REGION"
- "OMNI_DATABASE_ID=$_OMNI_DATABASE_ID"
- "IP_ADDRESS=$_IP_ADDRESS"
secretEnv:
[
"DB_USER",
"DB_PASSWORD",
"OMNI_HOST",
"OMNI_USER",
"OMNI_PASSWORD",
"IAM_ACCOUNT",
]
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/DB_USER/versions/1
env: "DB_USER"
- versionName: projects/$PROJECT_ID/secrets/DB_PASSWORD/versions/1
env: "DB_PASSWORD"
- versionName: projects/$PROJECT_ID/secrets/OMNI_HOST/versions/1
env: "OMNI_HOST"
- versionName: projects/$PROJECT_ID/secrets/OMNI_USER/versions/1
env: "OMNI_USER"
- versionName: projects/$PROJECT_ID/secrets/OMNI_PASSWORD/versions/1
env: "OMNI_PASSWORD"
- versionName: projects/$PROJECT_ID/secrets/service_account_email/versions/1
env: "IAM_ACCOUNT"
substitutions:
_VERSION: "3.9"
_INSTANCE_CONNECTION_NAME: projects/${PROJECT_ID}/locations/${_REGION}/clusters/${_CLUSTER_ID}/instances/${_INSTANCE_ID}
_DATABASE_PORT: "5432"
_IP_ADDRESS: "127.0.0.1"
options:
pool:
name: "projects/langchain-alloydb-testing/locations/us-central1/workerPools/my-pool2"
dynamicSubstitutions: true