Skip to content

Commit 21e4c03

Browse files
committed
tools/ci.sh: Update Unix/x86 target to Ubuntu 24.04 LTS.
This commit updates the Unix/x86 target's environment to use the latest available LTS version of Ubuntu Linux (24.04). Since the new OS updated some key components used in the CI build process, a few modifications have been made to the setup and build procedure. The new OS introduces a CPython version that is known to not be compatible with a subset of settrace tests, so even though the OS is updated, an older version of CPython is installed as part of the image provisioning process. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
1 parent 26c1696 commit 21e4c03

2 files changed

Lines changed: 26 additions & 7 deletions

File tree

.github/workflows/ports_unix.yml

Lines changed: 24 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -103,9 +103,14 @@ jobs:
103103
run: tests/run-tests.py --print-failures
104104

105105
coverage_32bit:
106-
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
106+
runs-on: ubuntu-latest
107107
steps:
108108
- uses: actions/checkout@v6
109+
- uses: actions/setup-python@v6
110+
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
111+
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
112+
with:
113+
python-version: '3.11'
109114
- name: Install packages
110115
run: tools/ci.sh unix_32bit_setup
111116
- name: Build
@@ -121,9 +126,14 @@ jobs:
121126
run: tests/run-tests.py --print-failures
122127

123128
nanbox:
124-
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
129+
runs-on: ubuntu-latest
125130
steps:
126131
- uses: actions/checkout@v6
132+
- uses: actions/setup-python@v6
133+
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
134+
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
135+
with:
136+
python-version: '3.11'
127137
- name: Install packages
128138
run: tools/ci.sh unix_32bit_setup
129139
- name: Build
@@ -135,9 +145,14 @@ jobs:
135145
run: tests/run-tests.py --print-failures
136146

137147
longlong:
138-
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
148+
runs-on: ubuntu-latest
139149
steps:
140150
- uses: actions/checkout@v6
151+
- uses: actions/setup-python@v6
152+
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
153+
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
154+
with:
155+
python-version: '3.11'
141156
- name: Install packages
142157
run: tools/ci.sh unix_32bit_setup
143158
- name: Build
@@ -218,9 +233,14 @@ jobs:
218233
run: tests/run-tests.py --print-failures
219234

220235
repr_b:
221-
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
236+
runs-on: ubuntu-latest
222237
steps:
223238
- uses: actions/checkout@v6
239+
- uses: actions/setup-python@v6
240+
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
241+
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
242+
with:
243+
python-version: '3.11'
224244
- name: Install packages
225245
run: tools/ci.sh unix_32bit_setup
226246
- name: Build

tools/ci.sh

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -777,9 +777,8 @@ function ci_unix_32bit_setup {
777777
sudo dpkg --add-architecture i386
778778
sudo apt-get update
779779
sudo apt-get install gcc-multilib g++-multilib libffi-dev:i386
780-
sudo pip3 install setuptools
781-
sudo pip3 install pyelftools
782-
sudo pip3 install ar
780+
python -m pip install pyelftools
781+
python -m pip install ar
783782
gcc --version
784783
python3 --version
785784
}

0 commit comments

Comments
 (0)