summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ports_unix.yml14
-rwxr-xr-xtools/ci.sh19
2 files changed, 33 insertions, 0 deletions
diff --git a/.github/workflows/ports_unix.yml b/.github/workflows/ports_unix.yml
index 77d0b29ca..eeae895f6 100644
--- a/.github/workflows/ports_unix.yml
+++ b/.github/workflows/ports_unix.yml
@@ -217,6 +217,20 @@ jobs:
if: failure()
run: tests/run-tests.py --print-failures
+ repr_b:
+ runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
+ steps:
+ - uses: actions/checkout@v5
+ - name: Install packages
+ run: source tools/ci.sh && ci_unix_32bit_setup
+ - name: Build
+ run: source tools/ci.sh && ci_unix_repr_b_build
+ - name: Run main test suite
+ run: source tools/ci.sh && ci_unix_repr_b_run_tests
+ - name: Print failures
+ if: failure()
+ run: tests/run-tests.py --print-failures
+
macos:
runs-on: macos-latest
steps:
diff --git a/tools/ci.sh b/tools/ci.sh
index 6ecf8cc67..f55b004c4 100755
--- a/tools/ci.sh
+++ b/tools/ci.sh
@@ -556,6 +556,14 @@ CI_UNIX_OPTS_SANITIZE_UNDEFINED=(
LDFLAGS_EXTRA="-fsanitize=undefined -fno-sanitize=nonnull-attribute"
)
+CI_UNIX_OPTS_REPR_B=(
+ VARIANT=standard
+ CFLAGS_EXTRA="-DMICROPY_OBJ_REPR=MICROPY_OBJ_REPR_B -DMICROPY_PY_UCTYPES=0 -Dmp_int_t=int32_t -Dmp_uint_t=uint32_t"
+ MICROPY_FORCE_32BIT=1
+ RUN_TESTS_MPY_CROSS_FLAGS="--mpy-cross-flags=\"-march=x86 -msmall-int-bits=30\""
+
+)
+
function ci_unix_build_helper {
make ${MAKEOPTS} -C mpy-cross
make ${MAKEOPTS} -C ports/unix "$@" submodules
@@ -898,6 +906,17 @@ function ci_unix_qemu_riscv64_run_tests {
(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')
}
+function ci_unix_repr_b_build {
+ ci_unix_build_helper "${CI_UNIX_OPTS_REPR_B[@]}"
+ ci_unix_build_ffi_lib_helper gcc -m32
+}
+
+function ci_unix_repr_b_run_tests {
+ # ci_unix_run_tests_full_no_native_helper is not used due to
+ # https://github.com/micropython/micropython/issues/18105
+ ci_unix_run_tests_helper "${CI_UNIX_OPTS_REPR_B[@]}"
+}
+
########################################################################################
# ports/windows