Skip to content

Commit da60656

Browse files
WIP ci/cirrus: Add ARM32 valgrind tasks
[skip actions]
1 parent 1f1bb78 commit da60656

File tree

1 file changed

+55
-21
lines changed

1 file changed

+55
-21
lines changed

.cirrus.yml

Lines changed: 55 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -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

77107
task:
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

Comments
 (0)