feat: support Python 3.14 (#1822) · googleapis/google-auth-library-python@0f7097e

File tree

11 files changed

lines changed

  • .kokoro/samples/python3.14

  • samples/cloud-client/snippets

11 files changed

lines changed

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,37 @@

1+

# Format: //devtools/kokoro/config/proto/build.proto

2+
3+

# Build logs will be here

4+

action {

5+

define_artifacts {

6+

regex: "**/*sponge_log.xml"

7+

}

8+

}

9+
10+

# Specify which tests to run

11+

env_vars: {

12+

key: "RUN_TESTS_SESSION"

13+

value: "unit-3.14"

14+

}

15+
16+

# Download trampoline resources.

17+

gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/trampoline"

18+
19+

# Download resources for system tests (service account key, etc.)

20+

gfile_resources: "/bigstore/cloud-devrel-kokoro-resources/google-auth-library-python"

21+
22+

# Use the trampoline script to run in docker.

23+

build_file: "google-auth-library-python/.kokoro/trampoline.sh"

24+
25+

# Configure the docker image for kokoro-trampoline.

26+

env_vars: {

27+

key: "TRAMPOLINE_IMAGE"

28+

value: "gcr.io/cloud-devrel-kokoro-resources/python-multi"

29+

}

30+

env_vars: {

31+

key: "TRAMPOLINE_BUILD_FILE"

32+

value: "github/google-auth-library-python/.kokoro/build.sh"

33+

}

34+

env_vars: {

35+

key: "TRAMPOLINE_BUILD_FILE"

36+

value: "github/google-auth-library-python/.kokoro/samples-test-setup.sh"

37+

}

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,6 @@

1+

# Format: //devtools/kokoro/config/proto/build.proto

2+
3+

env_vars: {

4+

key: "INSTALL_LIBRARY_FROM_SOURCE"

5+

value: "True"

6+

}

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,11 @@

1+

# Format: //devtools/kokoro/config/proto/build.proto

2+
3+

env_vars: {

4+

key: "INSTALL_LIBRARY_FROM_SOURCE"

5+

value: "True"

6+

}

7+
8+

env_vars: {

9+

key: "TRAMPOLINE_BUILD_FILE"

10+

value: "github/google-auth-library-python/.kokoro/test-samples-against-head.sh"

11+

}

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,6 @@

1+

# Format: //devtools/kokoro/config/proto/build.proto

2+
3+

env_vars: {

4+

key: "INSTALL_LIBRARY_FROM_SOURCE"

5+

value: "False"

6+

}

Original file line numberDiff line numberDiff line change

@@ -0,0 +1,6 @@

1+

# Format: //devtools/kokoro/config/proto/build.proto

2+
3+

env_vars: {

4+

key: "INSTALL_LIBRARY_FROM_SOURCE"

5+

value: "True"

6+

}

Original file line numberDiff line numberDiff line change

@@ -36,7 +36,7 @@

3636

DEFAULT_PYTHON_VERSION = "3.10"

3737

# TODO(https://github.com/googleapis/google-auth-library-python/issues/1787):

3838

# Remove or restore testing for Python 3.7/3.8

39-

UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13"]

39+

UNIT_TEST_PYTHON_VERSIONS = ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]

4040
4141

# Error if a python version is missing

4242

nox.options.error_on_missing_interpreters = True

@@ -53,6 +53,7 @@

5353

"unit-3.11",

5454

"unit-3.12",

5555

"unit-3.13",

56+

"unit-3.14",

5657

# cover must be last to avoid error `No data to report`

5758

"cover",

5859

"docs",

Original file line numberDiff line numberDiff line change

@@ -60,7 +60,7 @@

6060

]

6161
6262
63-

@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13"])

63+

@nox.session(python=["3.7", "3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"])

6464

def unit(session):

6565

# constraints_path = str(

6666

# CURRENT_DIRECTORY / "testing" / f"constraints-{session.python}.txt"

Original file line numberDiff line numberDiff line change

@@ -1,7 +1,7 @@

11

google-cloud-compute==1.5.1

22

google-cloud-storage==3.1.0

33

google-auth==2.41.1

4-

pytest==7.1.2

4+

pytest==8.4.2

55

boto3>=1.26.0

66

requests==2.32.3

7-

python-dotenv==1.1.1

7+

python-dotenv==1.1.1

Original file line numberDiff line numberDiff line change

@@ -129,6 +129,7 @@

129129

"Programming Language :: Python :: 3.11",

130130

"Programming Language :: Python :: 3.12",

131131

"Programming Language :: Python :: 3.13",

132+

"Programming Language :: Python :: 3.14",

132133

"Development Status :: 5 - Production/Stable",

133134

"Intended Audience :: Developers",

134135

"License :: OSI Approved :: Apache Software License",