Skip to content

Commit aa58de4

Browse files
authored
Merge branch 'main' into fix/dict_borrow_ref
2 parents 1500d17 + 4c79929 commit aa58de4

16 files changed

Lines changed: 48 additions & 60 deletions

.github/actionlint.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
config-variables: null
22

3+
# Pending release of actionlint > 1.7.12 for ubuntu-26.04* support:
4+
# https://github.com/rhysd/actionlint/pull/683
5+
self-hosted-runner:
6+
labels:
7+
- ubuntu-26.04
8+
- ubuntu-26.04-arm
9+
310
paths:
411
.github/workflows/**/*.yml:
512
ignore:

.github/workflows/add-issue-header.yml

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

1818
jobs:
1919
add-header:
20-
runs-on: ubuntu-latest
20+
runs-on: ubuntu-slim
2121
permissions:
2222
issues: write
2323
timeout-minutes: 5

.github/workflows/build.yml

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ jobs:
5353
name: 'Check if Autoconf files are up to date'
5454
# Don't use ubuntu-latest but a specific version to make the job
5555
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
56-
runs-on: ubuntu-24.04
56+
runs-on: ubuntu-26.04
5757
container:
5858
image: ghcr.io/python/autoconf:2025.01.02.12581854023
5959
timeout-minutes: 60
@@ -96,7 +96,7 @@ jobs:
9696
name: 'Check if generated files are up to date'
9797
# Don't use ubuntu-latest but a specific version to make the job
9898
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
99-
runs-on: ubuntu-24.04
99+
runs-on: ubuntu-26.04
100100
timeout-minutes: 60
101101
needs: build-context
102102
if: needs.build-context.outputs.run-tests == 'true'
@@ -239,18 +239,18 @@ jobs:
239239
- false
240240
- true
241241
os:
242-
- ubuntu-24.04
243-
- ubuntu-24.04-arm
242+
- ubuntu-26.04
243+
- ubuntu-26.04-arm
244244
exclude:
245245
# Do not test BOLT with free-threading, to conserve resources
246246
- bolt: true
247247
free-threading: true
248248
# BOLT currently crashes during instrumentation on aarch64
249-
- os: ubuntu-24.04-arm
249+
- os: ubuntu-26.04-arm
250250
bolt: true
251251
include:
252252
# Enable CPU-intensive tests on ARM (default build only)
253-
- os: ubuntu-24.04-arm
253+
- os: ubuntu-26.04-arm
254254
bolt: false
255255
free-threading: false
256256
test-opts: '-u cpu'
@@ -270,7 +270,7 @@ jobs:
270270
strategy:
271271
fail-fast: false
272272
matrix:
273-
os: [ubuntu-24.04]
273+
os: [ubuntu-26.04]
274274
ssllib:
275275
# See Tools/ssl/make_ssl_data.py for notes on adding a new version
276276
## OpenSSL
@@ -346,7 +346,7 @@ jobs:
346346
- arch: aarch64
347347
runs-on: macos-26
348348
- arch: x86_64
349-
runs-on: ubuntu-24.04
349+
runs-on: ubuntu-26.04
350350

351351
runs-on: ${{ matrix.runs-on }}
352352
steps:
@@ -393,7 +393,7 @@ jobs:
393393

394394
test-hypothesis:
395395
name: "Hypothesis tests on Ubuntu"
396-
runs-on: ubuntu-24.04
396+
runs-on: ubuntu-26.04
397397
timeout-minutes: 60
398398
needs: build-context
399399
if: needs.build-context.outputs.run-ubuntu == 'true'
@@ -504,7 +504,7 @@ jobs:
504504
strategy:
505505
fail-fast: false
506506
matrix:
507-
os: [ubuntu-24.04]
507+
os: [ubuntu-26.04]
508508
env:
509509
OPENSSL_VER: 3.5.7
510510
PYTHONSTRICTEXTENSIONBUILD: 1
@@ -568,7 +568,7 @@ jobs:
568568

569569
cross-build-linux:
570570
name: Cross build Linux
571-
runs-on: ubuntu-latest
571+
runs-on: ubuntu-26.04
572572
timeout-minutes: 60
573573
needs: build-context
574574
if: needs.build-context.outputs.run-ubuntu == 'true'

.github/workflows/jit.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ env:
2929
jobs:
3030
interpreter:
3131
name: Interpreter (Debug)
32-
runs-on: ubuntu-24.04
32+
runs-on: ubuntu-26.04
3333
timeout-minutes: 60
3434
steps:
3535
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
@@ -145,9 +145,9 @@ jobs:
145145
- false
146146
include:
147147
- target: x86_64-unknown-linux-gnu/gcc
148-
runner: ubuntu-24.04
148+
runner: ubuntu-26.04
149149
- target: aarch64-unknown-linux-gnu/gcc
150-
runner: ubuntu-24.04-arm
150+
runner: ubuntu-26.04-arm
151151
steps:
152152
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
153153
with:
@@ -160,8 +160,7 @@ jobs:
160160
sudo ./.github/workflows/posix-deps-apt.sh
161161
- name: Build
162162
run: |
163-
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
164-
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
163+
# On ubuntu-26.04 image, clang is clang-21 by default
165164
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
166165
make all --jobs 4
167166
- name: Test
@@ -171,7 +170,7 @@ jobs:
171170
linux-extras:
172171
name: ${{ matrix.name }}
173172

174-
runs-on: ubuntu-24.04
173+
runs-on: ubuntu-26.04
175174
timeout-minutes: 60
176175
strategy:
177176
fail-fast: false
@@ -202,8 +201,7 @@ jobs:
202201
sudo ./.github/workflows/posix-deps-apt.sh
203202
- name: Build
204203
run: |
205-
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
206-
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
204+
# On ubuntu-26.04 image, clang is clang-21 by default
207205
if [ "${{ matrix.use_clang }}" = "true" ]; then
208206
export CC=clang-${{ env.LLVM_VERSION }}
209207
fi

.github/workflows/new-bugs-announce-notifier.yml

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

1111
jobs:
1212
notify-new-bugs-announce:
13-
runs-on: ubuntu-latest
13+
runs-on: ubuntu-slim
1414
permissions:
1515
issues: read
1616
timeout-minutes: 10

.github/workflows/posix-deps-apt.sh

Lines changed: 3 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -5,37 +5,23 @@ apt-get -yq --no-install-recommends install \
55
build-essential \
66
pkg-config \
77
cmake \
8+
curl \
89
gdb \
910
lcov \
1011
libb2-dev \
1112
libbz2-dev \
1213
libffi-dev \
13-
libgdbm-dev \
1414
libgdbm-compat-dev \
15+
libgdbm-dev \
1516
liblzma-dev \
17+
libmpdec-dev \
1618
libncurses5-dev \
1719
libreadline6-dev \
1820
libsqlite3-dev \
1921
libssl-dev \
2022
libzstd-dev \
21-
lzma \
22-
lzma-dev \
2323
strace \
2424
tk-dev \
2525
uuid-dev \
2626
xvfb \
2727
zlib1g-dev
28-
29-
# Workaround missing libmpdec-dev on ubuntu 24.04 by building mpdecimal
30-
# from source. ppa:ondrej/php (launchpad.net) are unreliable
31-
# (https://status.canonical.com) so fetch the tarball directly
32-
# from the upstream host.
33-
# https://www.bytereef.org/mpdecimal/
34-
MPDECIMAL_VERSION=4.0.1
35-
curl -fsSL "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-${MPDECIMAL_VERSION}.tar.gz" \
36-
| tar -xz -C /tmp
37-
(cd "/tmp/mpdecimal-${MPDECIMAL_VERSION}" \
38-
&& ./configure --prefix=/usr/local \
39-
&& make -j"$(nproc)" \
40-
&& make install)
41-
ldconfig

.github/workflows/require-pr-label.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ jobs:
1111
label-dnm:
1212
name: DO-NOT-MERGE
1313
if: github.repository_owner == 'python'
14-
runs-on: ubuntu-latest
14+
runs-on: ubuntu-slim
1515
permissions:
1616
pull-requests: read
1717
timeout-minutes: 10
@@ -28,7 +28,7 @@ jobs:
2828
label-reviews:
2929
name: Unresolved review
3030
if: github.repository_owner == 'python'
31-
runs-on: ubuntu-latest
31+
runs-on: ubuntu-slim
3232
permissions:
3333
pull-requests: read
3434
timeout-minutes: 10

.github/workflows/reusable-docs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ jobs:
9595
# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
9696
doctest:
9797
name: 'Doctest'
98-
runs-on: ubuntu-24.04
98+
runs-on: ubuntu-26.04
9999
timeout-minutes: 60
100100
steps:
101101
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

.github/workflows/reusable-emscripten.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ env:
1212
jobs:
1313
build-emscripten-reusable:
1414
name: 'build and test'
15-
runs-on: ubuntu-24.04
15+
runs-on: ubuntu-26.04
1616
timeout-minutes: 40
1717
steps:
1818
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0

.github/workflows/reusable-san.yml

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ jobs:
2626
&& ' (free-threading)'
2727
|| ''
2828
}}
29-
runs-on: ubuntu-24.04
29+
runs-on: ubuntu-26.04
3030
timeout-minutes: 60
3131
steps:
3232
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
@@ -37,14 +37,7 @@ jobs:
3737
- name: Install dependencies
3838
run: |
3939
sudo ./.github/workflows/posix-deps-apt.sh
40-
# Install clang
41-
wget https://apt.llvm.org/llvm.sh
42-
chmod +x llvm.sh
43-
sudo ./llvm.sh 21
44-
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-21 100
45-
sudo update-alternatives --set clang /usr/bin/clang-21
46-
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-21 100
47-
sudo update-alternatives --set clang++ /usr/bin/clang++-21
40+
# On ubuntu-26.04 image, clang is clang-21 by default
4841
4942
if [ "${SANITIZER}" = "TSan" ]; then
5043
# Reduce ASLR to avoid TSan crashing

0 commit comments

Comments
 (0)