Skip to content

Commit e3ef682

Browse files
jeplerdpgeorge
authored andcommitted
github/workflows: Add 32-bit OBJ_REPR_B CI job.
This showed up some interesting errors (hopefully all fixed now). Signed-off-by: Jeff Epler <[email protected]>
1 parent f658b0d commit e3ef682

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

.github/workflows/ports_unix.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -217,6 +217,20 @@ jobs:
217217
if: failure()
218218
run: tests/run-tests.py --print-failures
219219

220+
repr_b:
221+
runs-on: ubuntu-22.04 # use 22.04 to get libffi-dev:i386
222+
steps:
223+
- uses: actions/checkout@v5
224+
- name: Install packages
225+
run: source tools/ci.sh && ci_unix_32bit_setup
226+
- name: Build
227+
run: source tools/ci.sh && ci_unix_repr_b_build
228+
- name: Run main test suite
229+
run: source tools/ci.sh && ci_unix_repr_b_run_tests
230+
- name: Print failures
231+
if: failure()
232+
run: tests/run-tests.py --print-failures
233+
220234
macos:
221235
runs-on: macos-latest
222236
steps:

tools/ci.sh

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -556,6 +556,14 @@ CI_UNIX_OPTS_SANITIZE_UNDEFINED=(
556556
LDFLAGS_EXTRA="-fsanitize=undefined -fno-sanitize=nonnull-attribute"
557557
)
558558

559+
CI_UNIX_OPTS_REPR_B=(
560+
VARIANT=standard
561+
CFLAGS_EXTRA="-DMICROPY_OBJ_REPR=MICROPY_OBJ_REPR_B -DMICROPY_PY_UCTYPES=0 -Dmp_int_t=int32_t -Dmp_uint_t=uint32_t"
562+
MICROPY_FORCE_32BIT=1
563+
RUN_TESTS_MPY_CROSS_FLAGS="--mpy-cross-flags=\"-march=x86 -msmall-int-bits=30\""
564+
565+
)
566+
559567
function ci_unix_build_helper {
560568
make ${MAKEOPTS} -C mpy-cross
561569
make ${MAKEOPTS} -C ports/unix "$@" submodules
@@ -898,6 +906,17 @@ function ci_unix_qemu_riscv64_run_tests {
898906
(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')
899907
}
900908

909+
function ci_unix_repr_b_build {
910+
ci_unix_build_helper "${CI_UNIX_OPTS_REPR_B[@]}"
911+
ci_unix_build_ffi_lib_helper gcc -m32
912+
}
913+
914+
function ci_unix_repr_b_run_tests {
915+
# ci_unix_run_tests_full_no_native_helper is not used due to
916+
# https://github.com/micropython/micropython/issues/18105
917+
ci_unix_run_tests_helper "${CI_UNIX_OPTS_REPR_B[@]}"
918+
}
919+
901920
########################################################################################
902921
# ports/windows
903922

0 commit comments

Comments
 (0)