Skip to content

Commit af6e882

Browse files
authored
Merge pull request #1139 from nolar/upgrade-ubuntu
Upgrade Ubuntu in CI (and pin oscrypto to an unreleased bugfix)
2 parents cf98d88 + d1fe513 commit af6e882

File tree

5 files changed

+24
-13
lines changed

5 files changed

+24
-13
lines changed

.github/workflows/ci.yaml

+5-5
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ on:
1212
jobs:
1313
linters:
1414
name: Linting and static analysis
15-
runs-on: ubuntu-22.04
15+
runs-on: ubuntu-24.04
1616
timeout-minutes: 5 # usually 1-2, rarely 3 mins (because of installations)
1717
steps:
1818
- uses: actions/checkout@v4
@@ -43,7 +43,7 @@ jobs:
4343
- install-extras: "uvloop"
4444
python-version: "3.13"
4545
name: Python ${{ matrix.python-version }}${{ matrix.install-extras && ' ' || '' }}${{ matrix.install-extras }}
46-
runs-on: ubuntu-22.04
46+
runs-on: ubuntu-24.04
4747
timeout-minutes: 5 # usually 2-3 mins
4848
steps:
4949
- uses: actions/checkout@v4
@@ -83,7 +83,7 @@ jobs:
8383
install-extras: [ "", "full-auth" ]
8484
python-version: [ "pypy-3.8", "pypy-3.9", "pypy-3.10" ]
8585
name: Python ${{ matrix.python-version }}${{ matrix.install-extras && ' ' || '' }}${{ matrix.install-extras }}
86-
runs-on: ubuntu-22.04
86+
runs-on: ubuntu-24.04
8787
timeout-minutes: 10
8888
steps:
8989
- uses: actions/checkout@v4
@@ -105,7 +105,7 @@ jobs:
105105
matrix:
106106
k3s: [latest, v1.31, v1.30, v1.29]
107107
name: K3s ${{matrix.k3s}}
108-
runs-on: ubuntu-22.04
108+
runs-on: ubuntu-24.04
109109
timeout-minutes: 10 # usually 4-5 mins
110110
steps:
111111
- uses: actions/checkout@v4
@@ -122,7 +122,7 @@ jobs:
122122
coveralls-finish:
123123
name: Finalize coveralls.io
124124
needs: [unit-tests, pypy-tests, functional]
125-
runs-on: ubuntu-22.04
125+
runs-on: ubuntu-24.04
126126
steps:
127127
- uses: actions/setup-python@v5
128128
- run: pip install coveralls

.github/workflows/thorough.yaml

+6-6
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ on:
1616
jobs:
1717
linters:
1818
name: Linting and static analysis
19-
runs-on: ubuntu-22.04
19+
runs-on: ubuntu-24.04
2020
timeout-minutes: 5 # usually 1-2, rarely 3 mins (because of installations)
2121
steps:
2222
- uses: actions/checkout@v4
@@ -47,7 +47,7 @@ jobs:
4747
- install-extras: "uvloop"
4848
python-version: "3.12"
4949
name: Python ${{ matrix.python-version }}${{ matrix.install-extras && ' ' || '' }}${{ matrix.install-extras }}
50-
runs-on: ubuntu-22.04
50+
runs-on: ubuntu-24.04
5151
timeout-minutes: 5 # usually 2-3 mins
5252
steps:
5353
- uses: actions/checkout@v4
@@ -87,7 +87,7 @@ jobs:
8787
install-extras: [ "", "full-auth" ]
8888
python-version: [ "pypy-3.8", "pypy-3.9", "pypy-3.10" ]
8989
name: Python ${{ matrix.python-version }}${{ matrix.install-extras && ' ' || '' }}${{ matrix.install-extras }}
90-
runs-on: ubuntu-22.04
90+
runs-on: ubuntu-24.04
9191
timeout-minutes: 10
9292
steps:
9393
- uses: actions/checkout@v4
@@ -109,7 +109,7 @@ jobs:
109109
matrix:
110110
k3s: [latest, v1.31, v1.30, v1.29]
111111
name: K3s ${{matrix.k3s}}
112-
runs-on: ubuntu-22.04
112+
runs-on: ubuntu-24.04
113113
timeout-minutes: 10 # usually 4-5 mins
114114
steps:
115115
- uses: actions/checkout@v4
@@ -129,7 +129,7 @@ jobs:
129129
matrix:
130130
k8s: [latest, v1.31.2, v1.30.6, v1.29.10]
131131
name: K8s ${{matrix.k8s}}
132-
runs-on: ubuntu-22.04
132+
runs-on: ubuntu-24.04
133133
timeout-minutes: 10 # usually 4-5 mins
134134
env:
135135
K8S: ${{ matrix.k8s }}
@@ -145,7 +145,7 @@ jobs:
145145
coveralls-finish:
146146
name: Finalize coveralls.io
147147
needs: [unit-tests, pypy-tests, functional]
148-
runs-on: ubuntu-22.04
148+
runs-on: ubuntu-24.04
149149
steps:
150150
- uses: actions/setup-python@v5
151151
- run: pip install coveralls

.readthedocs.yaml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
version: 2
44
formats: all
55
build:
6-
os: ubuntu-22.04
6+
os: ubuntu-24.04
77
tools:
88
python: "3"
99
python:

requirements.txt

+10
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,16 @@ codecov
99
coverage
1010
coveralls
1111
freezegun
12+
13+
# Enforce the hotfix for Ubuntu 24.04 in CI. Otherwise, we are stuck in Ubuntu 22.04.
14+
# The bugfix is merged but not released: https://github.com/wbond/oscrypto/issues/78
15+
# Pinning this in the end operators is the decision of the operator developers,
16+
# including the protocols of accessing the repo or vendoring the dependency code.
17+
# The dev-mode dependency is used ONLY with an temporary & insecure self-signed CA for simplicity,
18+
# and ONLY with Ubuntu 24.04+. Therefore, it is not pinned in setup.py (e.g., works fine in 22.04).
19+
# In the worst case, configure the operator with a self-signed CA made in the OpenSSL CLI manually.
20+
git+https://github.com/wbond/oscrypto.git@1547f535001ba568b239b8797465536759c742a3
21+
1222
import-linter
1323
isort
1424
lxml

setup.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -77,10 +77,11 @@
7777
'uvloop>=0.18.0; python_version>="3.12"',
7878
],
7979
'dev': [
80-
'pyngrok', # 1.00 MB + downloaded binary
80+
# NB: oscrypto is pinned for Ubuntu 24.04+ in requirements.txt - read the details there.
8181
'oscrypto', # 2.80 MB (smaller than cryptography: 8.7 MB)
8282
'certbuilder', # +0.1 MB (2.90 MB if alone)
8383
'certvalidator', # +0.1 MB (2.90 MB if alone)
84+
'pyngrok', # 1.00 MB + downloaded binary
8485
],
8586
},
8687
package_data={"kopf": ["py.typed"]},

0 commit comments

Comments
 (0)