-
Notifications
You must be signed in to change notification settings - Fork 11
/
integration.cloudbuild.yaml
69 lines (62 loc) · 2.24 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
# 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/cloud-sql-proxy https://storage.googleapis.com/cloud-sql-connectors/cloud-sql-proxy/v2.13.0/cloud-sql-proxy.linux.386
chmod +x /workspace/cloud-sql-proxy
- id: Run integration tests
name: python:${_VERSION}
entrypoint: /bin/bash
env:
- "PROJECT_ID=$PROJECT_ID"
- "INSTANCE_ID=$_INSTANCE_ID"
- "DATABASE_ID=$_DATABASE_ID"
- "REGION=$_REGION"
- "IP_ADDRESS=$_IP_ADDRESS"
secretEnv: ["DB_USER", "DB_PASSWORD", "IAM_ACCOUNT"]
args:
- "-c"
- |
/workspace/cloud-sql-proxy ${_INSTANCE_CONNECTION_NAME} --port $_DATABASE_PORT & sleep 2;
python -m pytest --cov=langchain_google_cloud_sql_pg --cov-config=.coveragerc tests/
availableSecrets:
secretManager:
- versionName: projects/$PROJECT_ID/secrets/langchain-test-pg-username/versions/1
env: "DB_USER"
- versionName: projects/$PROJECT_ID/secrets/langchain-test-pg-password/versions/1
env: "DB_PASSWORD"
- versionName: projects/$PROJECT_ID/secrets/service_account_email/versions/1
env: "IAM_ACCOUNT"
substitutions:
_INSTANCE_CONNECTION_NAME: ${PROJECT_ID}:${_REGION}:${_INSTANCE_ID}
_DATABASE_PORT: "5432"
_DATABASE_ID: test-database
_REGION: us-central1
_VERSION: "3.9"
_IP_ADDRESS: "127.0.0.1"
options:
dynamicSubstitutions: true