fix: Python 3.8 support (#1918) · googleapis/google-auth-library-python@60dc200

1+

# Copyright 2026 Google LLC

2+

#

3+

# Licensed under the Apache License, Version 2.0 (the "License");

4+

# you may not use this file except in compliance with the License.

5+

# You may obtain a copy of the License at

6+

#

7+

# https://www.apache.org/licenses/LICENSE-2.0

8+

#

9+

# Unless required by applicable law or agreed to in writing, software

10+

# distributed under the License is distributed on an "AS IS" BASIS,

11+

# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

12+

# See the License for the specific language governing permissions and

13+

# limitations under the License.

14+15+

on:

16+

pull_request:

17+

branches:

18+

- main

19+20+

permissions:

21+

contents: read

22+23+

name: unittest

24+

jobs:

25+

unit:

26+

runs-on: ubuntu-22.04

27+

strategy:

28+

matrix:

29+

python: ['3.8']

30+

steps:

31+

- name: Checkout

32+

uses: actions/checkout@v4

33+

- name: Setup Python

34+

uses: actions/setup-python@v5

35+

with:

36+

python-version: ${{ matrix.python }}

37+

- name: Install nox

38+

run: |

39+

python -m pip install --upgrade setuptools pip wheel

40+

python -m pip install nox

41+

- name: Run unit tests

42+

env:

43+

COVERAGE_FILE: .coverage-${{ matrix.python }}

44+

run: |

45+

nox -s unit-${{ matrix.python }}

46+

- name: Upload coverage results

47+

uses: actions/upload-artifact@v4

48+

with:

49+

name: coverage-artifact-${{ matrix.python }}

50+

path: .coverage-${{ matrix.python }}

51+

include-hidden-files: true

52+53+

cover:

54+

runs-on: ubuntu-latest

55+

needs:

56+

- unit

57+

steps:

58+

- name: Checkout

59+

uses: actions/checkout@v4

60+

- name: Setup Python

61+

uses: actions/setup-python@v5

62+

with:

63+

python-version: "3.13"

64+

- name: Install coverage

65+

run: |

66+

python -m pip install --upgrade setuptools pip wheel

67+

python -m pip install coverage

68+

- name: Download coverage results

69+

uses: actions/download-artifact@v4

70+

with:

71+

path: .coverage-results/

72+

- name: Report coverage results

73+

run: |

74+

find .coverage-results -type f -name '*.zip' -exec unzip {} \;

75+

coverage combine .coverage-results/**/.coverage*

76+

coverage report --show-missing --fail-under=99