Skip to content

Commit 3e8f2db

Browse files
authored
Stop using Ubuntu 20.04 and 22.04 in CI (#3570)
1 parent e29db82 commit 3e8f2db

File tree

5 files changed

+15
-25
lines changed

5 files changed

+15
-25
lines changed

.github/workflows/ci.yml

Lines changed: 11 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -43,62 +43,52 @@ jobs:
4343
os:
4444
- macos-15
4545
- windows-latest
46-
- ubuntu-22.04
46+
- ubuntu-24.04
4747
nox-session: ['']
4848
include:
4949
- experimental: false
5050
# integration
5151
# 3.9 has a known issue with large SSL requests that we work around:
5252
# https://github.com/urllib3/urllib3/pull/3181#issuecomment-1794830698
5353
- python-version: "3.9"
54-
os: ubuntu-latest
54+
os: ubuntu-24.04
5555
experimental: false
5656
nox-session: test_integration
5757
- python-version: "3.12"
58-
os: ubuntu-latest
58+
os: ubuntu-24.04
5959
experimental: false
6060
nox-session: test_integration
61-
# OpenSSL 1.1.1
62-
- python-version: "3.9"
63-
os: ubuntu-20.04
64-
experimental: false
65-
nox-session: test-3.9
6661
# pypy
6762
- python-version: "pypy-3.10"
68-
os: ubuntu-latest
63+
os: ubuntu-24.04
6964
experimental: false
7065
nox-session: test-pypy3.10
7166
- python-version: "pypy-3.11"
72-
os: ubuntu-latest
67+
os: ubuntu-24.04
7368
experimental: false
7469
nox-session: test-pypy3.11
7570
- python-version: "3.x"
7671
# brotli
77-
os: ubuntu-latest
72+
os: ubuntu-24.04
7873
experimental: false
7974
nox-session: test_brotlipy
80-
# Test CPython with a broken hostname_checks_common_name (the fix is in 3.9.3)
81-
- python-version: "3.9.2"
82-
os: ubuntu-20.04 # CPython 3.9.2 is not available for ubuntu-22.04.
83-
experimental: false
84-
nox-session: test-3.9
8575
- python-version: "3.12"
86-
os: ubuntu-latest
76+
os: ubuntu-24.04
8777
nox-session: emscripten(node)
8878
experimental: true
8979
- python-version: "3.12"
90-
os: ubuntu-latest
80+
os: ubuntu-24.04
9181
nox-session: emscripten(firefox)
9282
experimental: true
9383
- python-version: "3.12"
94-
os: ubuntu-latest
84+
os: ubuntu-24.04
9585
nox-session: emscripten(chrome)
9686
experimental: true
9787
- python-version: 3.14
9888
experimental: true
9989

10090
runs-on: ${{ matrix.os }}
101-
name: ${{ fromJson('{"macos-15":"macOS","windows-latest":"Windows","ubuntu-latest":"Ubuntu","ubuntu-20.04":"Ubuntu 20.04 (OpenSSL 1.1.1)","ubuntu-22.04":"Ubuntu 22.04 (OpenSSL 3.0)"}')[matrix.os] }} ${{ matrix.python-version }} ${{ matrix.nox-session}}
91+
name: ${{ fromJson('{"macos-15":"macOS","windows-latest":"Windows","ubuntu-24.04":"Ubuntu"}')[matrix.os] }} ${{ matrix.python-version }} ${{ matrix.nox-session}}
10292
continue-on-error: ${{ matrix.experimental }}
10393
timeout-minutes: 10
10494
steps:
@@ -166,7 +156,7 @@ jobs:
166156

167157
coverage:
168158
if: always()
169-
runs-on: "ubuntu-latest"
159+
runs-on: "ubuntu-24.04"
170160
needs: test
171161
steps:
172162
- name: "Checkout repository"

.github/workflows/downstream.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
fail-fast: false
1212
matrix:
1313
downstream: [botocore, requests]
14-
runs-on: ubuntu-22.04
14+
runs-on: ubuntu-latest
1515
timeout-minutes: 30
1616

1717
steps:

.github/workflows/lint.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ permissions:
77

88
jobs:
99
lint:
10-
runs-on: ubuntu-20.04
10+
runs-on: ubuntu-latest
1111
timeout-minutes: 10
1212

1313
steps:

src/urllib3/util/ssl_.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,7 +117,7 @@ class _TYPE_PEER_CERT_RET_DICT(TypedDict, total=False):
117117
sys.implementation.name,
118118
sys.version_info,
119119
sys.pypy_version_info if sys.implementation.name == "pypy" else None, # type: ignore[attr-defined]
120-
):
120+
): # Defensive: for Python < 3.9.3
121121
HAS_NEVER_CHECK_COMMON_NAME = False
122122

123123
# Need to be careful here in case old TLS versions get

src/urllib3/util/ssl_match_hostname.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -146,7 +146,7 @@ def match_hostname(
146146
if key == "commonName":
147147
if _dnsname_match(value, hostname):
148148
return
149-
dnsnames.append(value)
149+
dnsnames.append(value) # Defensive: for Python < 3.9.3
150150

151151
if len(dnsnames) > 1:
152152
raise CertificateError(

0 commit comments

Comments
 (0)