1+ on :
2+ push :
3+ branches :
4+ - main
5+ pull_request :
6+ name : SQLAlchemy Spanner dialect
7+ jobs :
8+ lint :
9+ runs-on : ubuntu-latest
10+
11+ steps :
12+ - name : Checkout code
13+ uses : actions/checkout@v6
14+ - name : Setup Python
15+ uses : actions/setup-python@v6
16+ with :
17+ python-version : 3.14
18+ - name : Install nox
19+ run : python -m pip install nox
20+ - name : Run Lint
21+ run : nox -s lint_setup_py lint blacken
22+
23+ unit :
24+ runs-on : ubuntu-latest
25+ strategy :
26+ matrix :
27+ python-version : ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
28+ steps :
29+ - name : Checkout code
30+ uses : actions/checkout@v6
31+ - name : Setup Python ${{ matrix.python-version }}
32+ uses : actions/setup-python@v6
33+ with :
34+ python-version : ${{ matrix.python-version }}
35+ - name : Install nox
36+ run : python -m pip install nox
37+ - name : Run Unit Tests
38+ run : nox -s unit-${{ matrix.python-version }}
39+ env :
40+ SPANNER_EMULATOR_HOST : localhost:9010
41+ GOOGLE_CLOUD_PROJECT : appdev-soda-spanner-staging
42+
43+ mockserver :
44+ runs-on : ubuntu-latest
45+
46+ steps :
47+ - name : Checkout code
48+ uses : actions/checkout@v6
49+ - name : Setup Python
50+ uses : actions/setup-python@v6
51+ with :
52+ python-version : 3.14
53+ - name : Install nox
54+ run : python -m pip install nox
55+ - name : Run mockserver tests
56+ run : nox -s mockserver
57+
58+ samples :
59+ runs-on : ubuntu-latest
60+
61+ steps :
62+ - name : Checkout code
63+ uses : actions/checkout@v6
64+ - name : Setup Python
65+ uses : actions/setup-python@v6
66+ with :
67+ python-version : 3.14
68+ - name : Install nox
69+ run : python -m pip install nox
70+ - name : Run samples
71+ run : nox -s _all_samples
72+ working-directory : samples
73+
74+ compliance_tests_14 :
75+ runs-on : ubuntu-latest
76+
77+ services :
78+ emulator-0 :
79+ image : gcr.io/cloud-spanner-emulator/emulator
80+ ports :
81+ - 9010:9010
82+
83+ steps :
84+ - name : Checkout code
85+ uses : actions/checkout@v6
86+ - name : Setup Python
87+ uses : actions/setup-python@v6
88+ with :
89+ python-version : 3.9
90+ - name : Install nox
91+ run : python -m pip install nox
92+ - name : Run Compliance Tests
93+ run : nox -s compliance_test_14
94+ env :
95+ SPANNER_EMULATOR_HOST : localhost:9010
96+ GOOGLE_CLOUD_PROJECT : appdev-soda-spanner-staging
97+ SQLALCHEMY_SILENCE_UBER_WARNING : 1
98+
99+ compliance_tests_20 :
100+ runs-on : ubuntu-latest
101+
102+ services :
103+ emulator-0 :
104+ image : gcr.io/cloud-spanner-emulator/emulator
105+ ports :
106+ - 9010:9010
107+
108+ steps :
109+ - name : Checkout code
110+ uses : actions/checkout@v6
111+ - name : Setup Python
112+ uses : actions/setup-python@v6
113+ with :
114+ python-version : 3.14
115+ - name : Install nox
116+ run : python -m pip install nox
117+ - name : Run Compliance Tests
118+ run : nox -s compliance_test_20
119+ env :
120+ SPANNER_EMULATOR_HOST : localhost:9010
121+ GOOGLE_CLOUD_PROJECT : appdev-soda-spanner-staging
122+
123+ system :
124+ runs-on : ubuntu-latest
125+ strategy :
126+ matrix :
127+ python-version : ["3.9", "3.14"]
128+ services :
129+ emulator-0 :
130+ image : gcr.io/cloud-spanner-emulator/emulator:latest
131+ ports :
132+ - 9010:9010
133+
134+ steps :
135+ - name : Checkout code
136+ uses : actions/checkout@v6
137+ - name : Setup Python ${{ matrix.python-version }}
138+ uses : actions/setup-python@v6
139+ with :
140+ python-version : ${{ matrix.python-version }}
141+ - name : Install nox
142+ run : python -m pip install nox
143+ - name : Run System Tests
144+ run : nox -s system-${{ matrix.python-version }}
145+ env :
146+ SPANNER_EMULATOR_HOST : localhost:9010
147+ GOOGLE_CLOUD_PROJECT : appdev-soda-spanner-staging
148+
149+ migration_tests :
150+ runs-on : ubuntu-latest
151+
152+ services :
153+ emulator-0 :
154+ image : gcr.io/cloud-spanner-emulator/emulator:latest
155+ ports :
156+ - 9010:9010
157+
158+ steps :
159+ - name : Checkout code
160+ uses : actions/checkout@v6
161+ - name : Setup Python
162+ uses : actions/setup-python@v6
163+ with :
164+ python-version : 3.9
165+ - name : Install nox
166+ run : python -m pip install nox
167+ - name : Run Migration Tests
168+ run : nox -s migration_test
169+ env :
170+ SPANNER_EMULATOR_HOST : localhost:9010
171+ GOOGLE_CLOUD_PROJECT : appdev-soda-spanner-staging
0 commit comments