Skip to content

Commit 4dd0fc3

Browse files
committed
tests: add github action for conformance test
1 parent 32ba5df commit 4dd0fc3

1 file changed

Lines changed: 76 additions & 0 deletions

File tree

Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
on:
2+
pull_request:
3+
paths:
4+
- 'packages/google-cloud-bigtable/**'
5+
- '.github/workflows/bigtable-conformance.yaml'
6+
push:
7+
branches:
8+
- main
9+
paths:
10+
- 'packages/google-cloud-bigtable/**'
11+
- '.github/workflows/bigtable-conformance.yaml'
12+
13+
defaults:
14+
run:
15+
working-directory: packages/google-cloud-bigtable
16+
17+
name: Conformance
18+
jobs:
19+
check_changes:
20+
runs-on: ubuntu-latest
21+
outputs:
22+
run_bigtable: ${{ steps.filter.outputs.bigtable }}
23+
steps:
24+
- uses: actions/checkout@v4
25+
- uses: dorny/paths-filter@v3
26+
id: filter
27+
with:
28+
filters: |
29+
bigtable:
30+
- 'packages/google-cloud-bigtable/**'
31+
- '.github/workflows/bigtable-conformance.yaml'
32+
33+
system-tests:
34+
needs: check_changes
35+
if: ${{ needs.check_changes.outputs.run_bigtable == 'true' }}
36+
runs-on: ubuntu-latest
37+
38+
strategy:
39+
matrix:
40+
test-version: [ "v0.0.4" ]
41+
py-version: [ 3.13 ]
42+
client-type: [ "async", "sync"]
43+
# None of the clients currently support reverse scans, execute query plan refresh, retry info, or routing cookie
44+
include:
45+
- client-type: "async"
46+
test_args: "-skip \"PlanRefresh|_Reverse|_WithRetryInfo|_WithRoutingCookie\""
47+
- client-type: "sync"
48+
test_args: "-skip \"PlanRefresh|_Reverse|_WithRetryInfo|_WithRoutingCookie|_Generic_MultiStream\""
49+
fail-fast: false
50+
name: "${{ matrix.client-type }} client / python ${{ matrix.py-version }} / test tag ${{ matrix.test-version }}"
51+
steps:
52+
- uses: actions/checkout@v4
53+
name: "Checkout python-bigtable"
54+
- uses: actions/checkout@v4
55+
name: "Checkout conformance tests"
56+
with:
57+
repository: googleapis/cloud-bigtable-clients-test
58+
ref: ${{ matrix.test-version }}
59+
path: cloud-bigtable-clients-test
60+
- uses: actions/setup-python@v5
61+
with:
62+
python-version: ${{ matrix.py-version }}
63+
- uses: actions/setup-go@v5
64+
with:
65+
go-version: '>=1.20.2'
66+
- run: chmod +x .kokoro/conformance.sh
67+
- run: pip install -e .
68+
name: "Install python-bigtable from HEAD"
69+
- run: go version
70+
- run: .kokoro/conformance.sh
71+
name: "Run tests"
72+
env:
73+
CLIENT_TYPE: ${{ matrix.client-type }}
74+
PYTHONUNBUFFERED: 1
75+
TEST_ARGS: ${{ matrix.test_args }}
76+
PROXY_PORT: 9999

0 commit comments

Comments
 (0)