Skip to content

Commit 6dea53c

Browse files
agattidpgeorge
authored andcommitted
tools/ci.sh: Update Unix/MIPS target to Ubuntu 24.04 LTS.
This commit updates the Unix/MIPS 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. Newer QEMU's sysroot location changed and the "static" variant of the QEMU emulators has to be used to make binfmt work, and updated autotools versions split some macros into an optional package that has to be manually installed. Signed-off-by: Alessandro Gatti <a.gatti@frob.it>
1 parent 569ebaa commit 6dea53c

2 files changed

Lines changed: 13 additions & 9 deletions

File tree

.github/workflows/ports_unix.yml

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -247,10 +247,14 @@ jobs:
247247
run: tests/run-tests.py --print-failures
248248

249249
qemu_mips:
250-
# ubuntu-22.04 is needed for older libffi.
251-
runs-on: ubuntu-22.04
250+
runs-on: ubuntu-latest
252251
steps:
253252
- uses: actions/checkout@v6
253+
- uses: actions/setup-python@v6
254+
# Python 3.12 is the default for ubuntu-24.04, but that has compatibility issues with settrace tests.
255+
# Can remove this step when ubuntu-latest uses a more recent Python 3.x as the default.
256+
with:
257+
python-version: '3.11'
254258
- name: Install packages
255259
run: tools/ci.sh unix_qemu_mips_setup
256260
- name: Build

tools/ci.sh

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -913,11 +913,11 @@ function ci_unix_macos_run_tests {
913913

914914
function ci_unix_qemu_mips_setup {
915915
sudo apt-get update
916-
sudo apt-get install gcc-mips-linux-gnu g++-mips-linux-gnu libc6-mips-cross
917-
sudo apt-get install qemu-user
918-
qemu-mips --version
919-
sudo mkdir /etc/qemu-binfmt
920-
sudo ln -s /usr/mips-linux-gnu/ /etc/qemu-binfmt/mips
916+
sudo apt-get install gcc-mips-linux-gnu g++-mips-linux-gnu libc6-mips-cross libltdl-dev
917+
sudo apt-get install qemu-user-static
918+
qemu-mips-static --version
919+
sudo mkdir -p /usr/gnemul
920+
sudo ln -s /usr/mips-linux-gnu /usr/gnemul/qemu-mips
921921
}
922922

923923
function ci_unix_qemu_mips_build {
@@ -927,11 +927,11 @@ function ci_unix_qemu_mips_build {
927927

928928
function ci_unix_qemu_mips_run_tests {
929929
# Issues with MIPS tests:
930-
# - thread/stress_aes.py takes around 50 seconds
930+
# - thread/stress_aes.py takes around 90 seconds
931931
# - thread/stress_recurse.py is flaky
932932
# - thread/thread_gc1.py is flaky
933933
file ./ports/unix/build-coverage/micropython
934-
(cd tests && MICROPY_MICROPYTHON=../ports/unix/build-coverage/micropython MICROPY_TEST_TIMEOUT=90 ./run-tests.py --exclude 'thread/stress_recurse.py|thread/thread_gc1.py')
934+
(cd tests && MICROPY_MICROPYTHON=../ports/unix/build-coverage/micropython MICROPY_TEST_TIMEOUT=180 ./run-tests.py --exclude 'thread/stress_recurse.py|thread/thread_gc1.py')
935935
}
936936

937937
function ci_unix_qemu_arm_setup {

0 commit comments

Comments
 (0)