Skip to content

Commit 8ca4e65

Browse files
authored
Merge branch 'main' into feat/version-scanner-pr1
2 parents 66eabc1 + a5ad18c commit 8ca4e65

600 files changed

Lines changed: 3139 additions & 1880 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/django-spanner-django5.2_tests.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ jobs:
2121
outputs:
2222
run_django_spanner: ${{ steps.filter.outputs.django_spanner }}
2323
steps:
24-
- uses: actions/checkout@v4
24+
- uses: actions/checkout@v6
2525
- uses: dorny/paths-filter@v3
2626
id: filter
2727
with:
@@ -68,9 +68,9 @@ jobs:
6868

6969
steps:
7070
- name: Checkout code
71-
uses: actions/checkout@v4
71+
uses: actions/checkout@v6
7272
- name: Setup Python
73-
uses: actions/setup-python@v5
73+
uses: actions/setup-python@v6
7474
with:
7575
python-version: "3.10"
7676
- name: Run Django tests

.github/workflows/gapic-generator-tests.yml

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,13 @@ env:
1818
SHOWCASE_VERSION: 0.35.0
1919
PROTOC_VERSION: 3.20.2
2020
LATEST_STABLE_PYTHON: 3.14
21-
ALL_PYTHON: "['3.10', '3.11', '3.12', '3.13', '3.14']"
21+
PRERELEASE_PYTHON: 3.15
22+
ALL_PYTHON: "['3.10', '3.11', '3.12', '3.13', '3.14', '3.15']"
23+
TRIMMED_PYTHON: "['3.10', '3.14', '3.15']"
24+
# Workaround: Allows libcst to compile on Python 3.15+ while PyO3 catches up
25+
# Can be removed once libcst releases a version with native Python 3.15 wheels
26+
# Follow https://github.com/Instagram/LibCST/issues/1445 for updates.
27+
PYO3_USE_ABI3_FORWARD_COMPATIBILITY: "1"
2228

2329
jobs:
2430
check_changes:
@@ -47,6 +53,8 @@ jobs:
4753
outputs:
4854
all_python: ${{ env.ALL_PYTHON }}
4955
latest_stable_python: ${{ env.LATEST_STABLE_PYTHON }}
56+
prerelease_python: ${{ env.PRERELEASE_PYTHON }}
57+
trimmed_python: $${{ env.TRIMMED_PYTHON }}
5058
steps:
5159
- run: echo "Initializing config for gapic-generator"
5260

@@ -65,6 +73,12 @@ jobs:
6573
uses: actions/setup-python@v6
6674
with:
6775
python-version: "${{ matrix.python }}"
76+
allow-prereleases: true
77+
# Caches compiled wheels locally to prevent building heavy libraries
78+
# such as grpcio, which we build from scratch on every run for Python 3.15+.
79+
# Follow https://github.com/grpc/grpc/issues/41010 for updates.
80+
cache: 'pip'
81+
cache-dependency-path: '**/requirements*.txt'
6882
- name: Install System Deps & Protoc
6983
run: |
7084
sudo apt-get update && sudo apt-get install -y curl pandoc unzip
@@ -132,10 +146,16 @@ jobs:
132146
runs-on: ubuntu-latest
133147
steps:
134148
- uses: actions/checkout@v6
135-
- name: Set up Python
149+
- name: Set up Python ${{ needs.python_config.outputs.prerelease_python }}
136150
uses: actions/setup-python@v6
137151
with:
138-
python-version: ${{ needs.python_config.outputs.latest_stable_python }}
152+
python-version: ${{ needs.python_config.outputs.prerelease_python }}
153+
allow-prereleases: true
154+
# Caches compiled wheels locally to prevent building heavy libraries
155+
# such as grpcio, which we build from scratch on every run for Python 3.15+.
156+
# Follow https://github.com/grpc/grpc/issues/41010 for updates.
157+
cache: 'pip'
158+
cache-dependency-path: '**/requirements*.txt'
139159
- name: Install System Deps
140160
run: sudo apt-get update && sudo apt-get install -y pandoc
141161
- name: Run Goldens (Prerelease)
@@ -150,15 +170,20 @@ jobs:
150170
needs: python_config
151171
strategy:
152172
matrix:
153-
python: ["3.10", "3.14"]
173+
python: ${{ fromJSON(needs.python_config.outputs.trimmed_python) }}
154174
runs-on: ubuntu-latest
155175
steps:
156176
- uses: actions/checkout@v6
157177
- name: Set up Python
158178
uses: actions/setup-python@v6
159179
with:
160180
python-version: ${{ matrix.python }}
161-
# This fixes the Pandoc error
181+
allow-prereleases: true
182+
# Caches compiled wheels locally to prevent building heavy libraries
183+
# such as grpcio, which we build from scratch on every run for Python 3.15+.
184+
# Follow https://github.com/grpc/grpc/issues/41010 for updates.
185+
cache: 'pip'
186+
cache-dependency-path: '**/requirements*.txt'
162187
- name: Install System Deps & Protoc
163188
run: |
164189
sudo apt-get update && sudo apt-get install -y curl pandoc unzip

.github/workflows/unittest.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ jobs:
2020
python: ['3.9', '3.10', "3.11", "3.12", "3.13", "3.14"]
2121
steps:
2222
- name: Checkout
23-
uses: actions/checkout@v4
23+
uses: actions/checkout@v6
2424
# Use a fetch-depth of 2 to avoid error `fatal: origin/main...HEAD: no merge base`
2525
# See https://github.com/googleapis/google-cloud-python/issues/12013
2626
# and https://github.com/actions/checkout#checkout-head.
2727
with:
2828
fetch-depth: 2
2929
- name: Setup Python
30-
uses: actions/setup-python@v5
30+
uses: actions/setup-python@v6
3131
with:
3232
python-version: ${{ matrix.python }}
3333
- name: Install nox
@@ -79,7 +79,7 @@ jobs:
7979
python -m pip install coverage
8080
- name: Download coverage results
8181
if: ${{ steps.packages.outputs.num_files_changed > 0 }}
82-
uses: actions/download-artifact@v4
82+
uses: actions/download-artifact@v5
8383
with:
8484
path: .coverage-results/
8585
- name: Report coverage results

.kokoro/system.sh

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,15 @@ run_package_test() {
6060

6161
PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/google-auth-project-id.json")
6262
GOOGLE_APPLICATION_CREDENTIALS="${KOKORO_GFILE_DIR}/google-auth-service-account.json"
63-
NOX_FILE="system_tests/noxfile.py"
64-
NOX_SESSION=""
63+
# Note: system.sh is also reused for monorepo-wide continuous unit test jobs
64+
# like `core_deps_from_source` and `prerelease_deps`. For google-auth, we only
65+
# want to override NOX_FILE to system_tests/noxfile.py when running actual system tests.
66+
if [[ -z "${NOX_SESSION}" || "${NOX_SESSION}" == "system-"* ]]; then
67+
NOX_FILE="system_tests/noxfile.py"
68+
NOX_SESSION=""
69+
else
70+
NOX_FILE="noxfile.py"
71+
fi
6572
;;
6673
*)
6774
PROJECT_ID=$(cat "${KOKORO_GFILE_DIR}/project-id.json")

.librarian/generator-input/client-post-processing/bigquery-storage-integration.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,15 @@ replacements:
2828
"pyarrow",
2929
]
3030
count: 1
31+
- paths: [
32+
packages/google-cloud-bigquery-storage/noxfile.py,
33+
]
34+
before: |
35+
\ # Install all dependencies\n session.install\("-e", "\."\)
36+
after: |2
37+
# Install all dependencies
38+
session.install("-e", f".[{','.join(UNIT_TEST_EXTRAS)}]")
39+
count: 2
3140
- paths: [
3241
packages/google-cloud-bigquery-storage/noxfile.py,
3342
]

.librarian/generator-input/client-post-processing/datastore-integration.yaml

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,42 @@ replacements:
3939
"google-cloud-core >= 2.0.0, <3.0.0",
4040
"grpcio >= 1.59.0, < 2.0.0",
4141
count: 1
42+
- paths: [
43+
"packages/google-cloud-datastore/mypy.ini",
44+
]
45+
before: |-
46+
# Performance: reuse results from previous runs to speed up 'nox'
47+
incremental = True
48+
after: |-
49+
# Performance: reuse results from previous runs to speed up "nox"
50+
incremental = True
51+
52+
[mypy-google.cloud.datastore._app_engine_key_pb2]
53+
ignore_errors = True
54+
55+
# TODO(https://github.com/googleapis/gapic-generator-python/issues/2410):
56+
# Remove once this generator bug is fixed
57+
[mypy-google.cloud.datastore_v1.services.datastore.async_client]
58+
ignore_errors = True
59+
60+
# TODO(https://github.com/googleapis/gapic-generator-python/issues/2410):
61+
# Remove once this generator bug is fixed
62+
[mypy-google.cloud.datastore_v1.services.datastore.client]
63+
ignore_errors = True
64+
count: 1
65+
- paths: [
66+
"packages/google-cloud-datastore/mypy.ini",
67+
]
68+
before: |
69+
ignore_missing_imports = False
70+
71+
# TODO\(https://github.com/googleapis/gapic-generator-python/issues/2563\):
72+
# Dependencies that historically lacks py.typed markers
73+
\[mypy-google\.iam\.\*\]
74+
ignore_missing_imports = True
75+
after: |
76+
ignore_missing_imports = True
77+
count: 1
4278
- paths: [
4379
"packages/google-cloud-datastore/docs/index.rst",
4480
]

0 commit comments

Comments
 (0)