Skip to content
Merged
Show file tree
Hide file tree
Changes from 7 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions .github/actionlint.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
config-variables: null

# Pending release of actionlint > 1.7.12 for ubuntu-26.04* support:
# https://github.com/rhysd/actionlint/pull/683
self-hosted-runner:
labels:
- ubuntu-26.04
- ubuntu-26.04-arm

paths:
.github/workflows/**/*.yml:
ignore:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/add-issue-header.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ permissions:

jobs:
add-header:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
permissions:
issues: write
timeout-minutes: 5
Expand Down
20 changes: 10 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ jobs:
name: 'Check if Autoconf files are up to date'
# Don't use ubuntu-latest but a specific version to make the job
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
container:
image: ghcr.io/python/autoconf:2025.01.02.12581854023
timeout-minutes: 60
Expand Down Expand Up @@ -96,7 +96,7 @@ jobs:
name: 'Check if generated files are up to date'
# Don't use ubuntu-latest but a specific version to make the job
# reproducible: to get the same tools versions (autoconf, aclocal, ...)
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
timeout-minutes: 60
needs: build-context
if: needs.build-context.outputs.run-tests == 'true'
Expand Down Expand Up @@ -239,18 +239,18 @@ jobs:
- false
- true
os:
- ubuntu-24.04
- ubuntu-24.04-arm
- ubuntu-26.04
- ubuntu-26.04-arm
exclude:
# Do not test BOLT with free-threading, to conserve resources
- bolt: true
free-threading: true
# BOLT currently crashes during instrumentation on aarch64
- os: ubuntu-24.04-arm
- os: ubuntu-26.04-arm
bolt: true
include:
# Enable CPU-intensive tests on ARM (default build only)
- os: ubuntu-24.04-arm
- os: ubuntu-26.04-arm
bolt: false
free-threading: false
test-opts: '-u cpu'
Expand All @@ -270,7 +270,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04]
os: [ubuntu-26.04]
ssllib:
# See Tools/ssl/make_ssl_data.py for notes on adding a new version
## OpenSSL
Expand Down Expand Up @@ -346,7 +346,7 @@ jobs:
- arch: aarch64
runs-on: macos-26
- arch: x86_64
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04

runs-on: ${{ matrix.runs-on }}
steps:
Expand Down Expand Up @@ -393,7 +393,7 @@ jobs:

test-hypothesis:
name: "Hypothesis tests on Ubuntu"
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
timeout-minutes: 60
needs: build-context
if: needs.build-context.outputs.run-ubuntu == 'true'
Expand Down Expand Up @@ -504,7 +504,7 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-24.04]
os: [ubuntu-26.04]
env:
OPENSSL_VER: 3.5.7
PYTHONSTRICTEXTENSIONBUILD: 1
Expand Down
14 changes: 6 additions & 8 deletions .github/workflows/jit.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ env:
jobs:
interpreter:
name: Interpreter (Debug)
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
timeout-minutes: 60
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Expand Down Expand Up @@ -145,9 +145,9 @@ jobs:
- false
include:
- target: x86_64-unknown-linux-gnu/gcc
runner: ubuntu-24.04
runner: ubuntu-26.04
- target: aarch64-unknown-linux-gnu/gcc
runner: ubuntu-24.04-arm
runner: ubuntu-26.04-arm
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
with:
Expand All @@ -160,8 +160,7 @@ jobs:
sudo ./.github/workflows/posix-deps-apt.sh
- name: Build
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
# On ubuntu-26.04 image, clang is clang-21 by default
./configure --enable-experimental-jit ${{ matrix.debug && '--with-pydebug' || '' }}
make all --jobs 4
- name: Test
Expand All @@ -171,7 +170,7 @@ jobs:
linux-extras:
name: ${{ matrix.name }}

runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
timeout-minutes: 60
strategy:
fail-fast: false
Expand Down Expand Up @@ -202,8 +201,7 @@ jobs:
sudo ./.github/workflows/posix-deps-apt.sh
- name: Build
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
# On ubuntu-26.04 image, clang is clang-21 by default
if [ "${{ matrix.use_clang }}" = "true" ]; then
export CC=clang-${{ env.LLVM_VERSION }}
fi
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/new-bugs-announce-notifier.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:

jobs:
notify-new-bugs-announce:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
permissions:
issues: read
timeout-minutes: 10
Expand Down
20 changes: 3 additions & 17 deletions .github/workflows/posix-deps-apt.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,37 +5,23 @@ apt-get -yq --no-install-recommends install \
build-essential \
pkg-config \
cmake \
curl \
gdb \
lcov \
libb2-dev \
libbz2-dev \
libffi-dev \
libgdbm-dev \
libgdbm-compat-dev \
libgdbm-dev \
liblzma-dev \
libmpdec-dev \
libncurses5-dev \
libreadline6-dev \
libsqlite3-dev \
libssl-dev \
libzstd-dev \
lzma \
lzma-dev \
strace \
tk-dev \
uuid-dev \
xvfb \
zlib1g-dev

# Workaround missing libmpdec-dev on ubuntu 24.04 by building mpdecimal
# from source. ppa:ondrej/php (launchpad.net) are unreliable
# (https://status.canonical.com) so fetch the tarball directly
# from the upstream host.
# https://www.bytereef.org/mpdecimal/
MPDECIMAL_VERSION=4.0.1
curl -fsSL "https://www.bytereef.org/software/mpdecimal/releases/mpdecimal-${MPDECIMAL_VERSION}.tar.gz" \
| tar -xz -C /tmp
(cd "/tmp/mpdecimal-${MPDECIMAL_VERSION}" \
&& ./configure --prefix=/usr/local \
&& make -j"$(nproc)" \
&& make install)
ldconfig
4 changes: 2 additions & 2 deletions .github/workflows/require-pr-label.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
label-dnm:
name: DO-NOT-MERGE
if: github.repository_owner == 'python'
runs-on: ubuntu-latest
runs-on: ubuntu-slim
permissions:
pull-requests: read
timeout-minutes: 10
Expand All @@ -28,7 +28,7 @@ jobs:
label-reviews:
name: Unresolved review
if: github.repository_owner == 'python'
runs-on: ubuntu-latest
runs-on: ubuntu-slim
permissions:
pull-requests: read
timeout-minutes: 10
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ jobs:
# Run "doctest" on HEAD as new syntax doesn't exist in the latest stable release
doctest:
name: 'Doctest'
runs-on: ubuntu-24.04
runs-on: ubuntu-latest
Comment thread
vstinner marked this conversation as resolved.
Outdated
timeout-minutes: 60
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-emscripten.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
jobs:
build-emscripten-reusable:
name: 'build and test'
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
timeout-minutes: 40
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Expand Down
11 changes: 2 additions & 9 deletions .github/workflows/reusable-san.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
&& ' (free-threading)'
|| ''
}}
runs-on: ubuntu-24.04
runs-on: ubuntu-26.04
timeout-minutes: 60
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Expand All @@ -37,14 +37,7 @@ jobs:
- name: Install dependencies
run: |
sudo ./.github/workflows/posix-deps-apt.sh
# Install clang
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 21
sudo update-alternatives --install /usr/bin/clang clang /usr/bin/clang-21 100
sudo update-alternatives --set clang /usr/bin/clang-21
sudo update-alternatives --install /usr/bin/clang++ clang++ /usr/bin/clang++-21 100
sudo update-alternatives --set clang++ /usr/bin/clang++-21
# On ubuntu-26.04 image, clang is clang-21 by default

if [ "${SANITIZER}" = "TSan" ]; then
# Reduce ASLR to avoid TSan crashing
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ jobs:
- name: Install Clang and BOLT
if: ${{ fromJSON(inputs.bolt-optimizations) }}
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh 21
# On ubuntu-26.04 image, LLVM is LLVM-21 by default
sudo apt-get install --no-install-recommends bolt-21
echo PATH="$(llvm-config-21 --bindir):$PATH" >> $GITHUB_ENV
- name: Configure OpenSSL env vars
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/reusable-wasi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
jobs:
build-wasi-reusable:
name: 'build and test'
runs-on: ubuntu-24.04-arm
runs-on: ubuntu-26.04-arm
timeout-minutes: 60
env:
WASMTIME_VERSION: 38.0.3
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stale.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ permissions:
jobs:
stale:
if: github.repository_owner == 'python'
runs-on: ubuntu-latest
runs-on: ubuntu-slim
permissions:
actions: write
pull-requests: write
Expand Down
9 changes: 4 additions & 5 deletions .github/workflows/tail-call.yml
Original file line number Diff line number Diff line change
Expand Up @@ -66,13 +66,13 @@ jobs:
matrix:
include:
- target: x86_64-unknown-linux-gnu/gcc
runner: ubuntu-24.04
runner: ubuntu-26.04
configure_flags: --with-pydebug
- target: x86_64-unknown-linux-gnu/gcc-free-threading
runner: ubuntu-24.04
runner: ubuntu-26.04
configure_flags: --disable-gil
- target: aarch64-unknown-linux-gnu/gcc
runner: ubuntu-24.04-arm
runner: ubuntu-26.04-arm
configure_flags: --with-pydebug
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Expand All @@ -83,8 +83,7 @@ jobs:
python-version: '3.11'
- name: Build
run: |
sudo bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" ./llvm.sh ${{ env.LLVM_VERSION }}
export PATH="$(llvm-config-${{ env.LLVM_VERSION }} --bindir):$PATH"
# On ubuntu-26.04 image, clang is clang-21 by default
CC=clang-${{ env.LLVM_VERSION }} ./configure --with-tail-call-interp ${{ matrix.configure_flags }}
make all --jobs 4
- name: Test
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/verify-expat.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ concurrency:

jobs:
verify:
runs-on: ubuntu-latest
runs-on: ubuntu-slim
timeout-minutes: 5
steps:
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
Expand Down
1 change: 1 addition & 0 deletions Python/bytecodes.c
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
// The actual instruction definitions start at // BEGIN BYTECODES //.
// See Tools/cases_generator/README.md for more information.


#include "Python.h"
#include "pycore_abstract.h" // _PyIndex_Check()
#include "pycore_audit.h" // _PySys_Audit()
Expand Down
1 change: 1 addition & 0 deletions Python/getcompiler.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@

#endif /* !COMPILER */


const char *
Py_GetCompiler(void)
{
Expand Down
Loading