@@ -58,38 +58,72 @@ linux_arm64_container_snippet: &LINUX_ARM64_CONTAINER
5858 test_script :
5959 - docker run --rm --mount "type=bind,src=./,dst=/ci_secp256k1" --env-file /tmp/env --replace --name "ci_secp256k1_arm" "ci_secp256k1_arm" bash -c "cd /ci_secp256k1/ && ./ci/ci.sh"
6060
61- task :
62- name : " ARM64: Linux (Debian stable)"
63- persistent_worker :
64- labels :
65- type : arm64
66- env :
67- ECDH : yes
68- RECOVERY : yes
69- SCHNORRSIG : yes
70- ELLSWIFT : yes
71- matrix :
72- # Currently only gcc-snapshot, the other compilers are tested on GHA with QEMU
73- - env : { CC: 'gcc-snapshot' }
74- << : *LINUX_ARM64_CONTAINER
75- << : *CAT_LOGS
61+ linux_armhf_container_snippet : &LINUX_ARMHF_CONTAINER
62+ env_script :
63+ - env | tee /tmp/env
64+ build_script :
65+ - DOCKER_BUILDKIT=1 docker build --file "ci/linux-debian.Dockerfile" --tag="ci_secp256k1_arm"
66+ - docker image prune --force # Cleanup stale layers
67+ test_script :
68+ # We need valgrind-dbg for backtraces
69+ - docker run --rm --mount "type=bind,src=./,dst=/ci_secp256k1" --env-file /tmp/env --replace --name "ci_secp256k1_arm" "ci_secp256k1_arm" bash -c "apt-get update && apt-get install --no-install-recommends -y valgrind:armhf valgrind-dbg:armhf && cd /ci_secp256k1/ && ./ci/ci.sh"
70+
71+ # task:
72+ # name: "ARM64: Linux (Debian stable)"
73+ # persistent_worker:
74+ # labels:
75+ # type: arm64
76+ # env:
77+ # ECDH: yes
78+ # RECOVERY: yes
79+ # SCHNORRSIG: yes
80+ # ELLSWIFT: yes
81+ # matrix:
82+ # # Currently only gcc-snapshot, the other compilers are tested on GHA with QEMU
83+ # - env: { CC: 'gcc-snapshot' }
84+ # << : *LINUX_ARM64_CONTAINER
85+ # << : *CAT_LOGS
86+
87+ # task:
88+ # name: "ARM64: Linux (Debian stable), Valgrind"
89+ # persistent_worker:
90+ # labels:
91+ # type: arm64
92+ # env:
93+ # ECDH: yes
94+ # RECOVERY: yes
95+ # SCHNORRSIG: yes
96+ # ELLSWIFT: yes
97+ # WRAPPER_CMD: 'valgrind --error-exitcode=42'
98+ # SECP256K1_TEST_ITERS: 2
99+ # matrix:
100+ # - env: { CC: 'gcc' }
101+ # - env: { CC: 'clang' }
102+ # - env: { CC: 'gcc-snapshot' }
103+ # - env: { CC: 'clang-snapshot' }
104+ # << : *LINUX_ARM64_CONTAINER
105+ # << : *CAT_LOGS
76106
77107task :
78- name : " ARM64 : Linux (Debian stable), Valgrind"
108+ name : " ARM32 : Linux (Debian stable), Valgrind"
79109 persistent_worker :
80110 labels :
81111 type : arm64
82112 env :
113+ HOST : ' arm-linux-gnueabihf'
83114 ECDH : yes
84115 RECOVERY : yes
85116 SCHNORRSIG : yes
86117 ELLSWIFT : yes
87118 WRAPPER_CMD : ' valgrind --error-exitcode=42'
88119 SECP256K1_TEST_ITERS : 2
89120 matrix :
90- - env : { CC: 'gcc' }
91- - env : { CC: 'clang' }
92- - env : { CC: 'gcc-snapshot' }
93- - env : { CC: 'clang-snapshot' }
94- << : *LINUX_ARM64_CONTAINER
121+ - env : { }
122+ - env : { EXPERIMENTAL: 'yes', ASM: 'arm32' }
123+ matrix :
124+ - env : { } # gcc
125+ - env : { CC: 'clang --target=arm-linux-gnueabihf', CCASFLAGS: "-Wa,-mthumb" }
126+ # - env: { CC: 'gcc-snapshot' } # FIXME multilib gcc?
127+ - env : { CC: 'clang-snapshot --target=arm-linux-gnueabihf', CCASFLAGS: "-Wa,-mthumb" }
128+ << : *LINUX_ARMHF_CONTAINER
95129 << : *CAT_LOGS
0 commit comments