ci: Move Valgrind build for arm64 from Cirrus to GHA
This commit is contained in:
86
.cirrus.yml
86
.cirrus.yml
@@ -1,86 +0,0 @@
|
|||||||
env:
|
|
||||||
### cirrus config
|
|
||||||
CIRRUS_CLONE_DEPTH: 1
|
|
||||||
### compiler options
|
|
||||||
HOST:
|
|
||||||
WRAPPER_CMD:
|
|
||||||
# Specific warnings can be disabled with -Wno-error=foo.
|
|
||||||
# -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual.
|
|
||||||
WERROR_CFLAGS: -Werror -pedantic-errors
|
|
||||||
MAKEFLAGS: -j4
|
|
||||||
BUILD: check
|
|
||||||
### secp256k1 config
|
|
||||||
ECMULTWINDOW: 15
|
|
||||||
ECMULTGENKB: 22
|
|
||||||
ASM: no
|
|
||||||
WIDEMUL: auto
|
|
||||||
WITH_VALGRIND: yes
|
|
||||||
EXTRAFLAGS:
|
|
||||||
### secp256k1 modules
|
|
||||||
EXPERIMENTAL: no
|
|
||||||
ECDH: no
|
|
||||||
RECOVERY: no
|
|
||||||
EXTRAKEYS: no
|
|
||||||
SCHNORRSIG: no
|
|
||||||
MUSIG: no
|
|
||||||
ELLSWIFT: no
|
|
||||||
### test options
|
|
||||||
SECP256K1_TEST_ITERS: 64
|
|
||||||
BENCH: yes
|
|
||||||
SECP256K1_BENCH_ITERS: 2
|
|
||||||
CTIMETESTS: yes
|
|
||||||
SYMBOL_CHECK: yes
|
|
||||||
VIRTUAL_ENV: /root/venv
|
|
||||||
# Compile and run the tests
|
|
||||||
EXAMPLES: yes
|
|
||||||
|
|
||||||
cat_logs_snippet: &CAT_LOGS
|
|
||||||
always:
|
|
||||||
cat_tests_log_script:
|
|
||||||
- cat tests.log || true
|
|
||||||
cat_noverify_tests_log_script:
|
|
||||||
- cat noverify_tests.log || true
|
|
||||||
cat_exhaustive_tests_log_script:
|
|
||||||
- cat exhaustive_tests.log || true
|
|
||||||
cat_ctime_tests_log_script:
|
|
||||||
- cat ctime_tests.log || true
|
|
||||||
cat_bench_log_script:
|
|
||||||
- cat bench.log || true
|
|
||||||
cat_config_log_script:
|
|
||||||
- cat config.log || true
|
|
||||||
cat_test_env_script:
|
|
||||||
- cat test_env.log || true
|
|
||||||
cat_ci_env_script:
|
|
||||||
- env
|
|
||||||
|
|
||||||
linux_arm64_container_snippet: &LINUX_ARM64_CONTAINER
|
|
||||||
env_script:
|
|
||||||
- export PATH="$VIRTUAL_ENV/bin:$PATH"
|
|
||||||
- env | tee /tmp/env
|
|
||||||
build_script:
|
|
||||||
- DOCKER_BUILDKIT=1 docker build --file "ci/linux-debian.Dockerfile" --tag="ci_secp256k1_arm"
|
|
||||||
- docker image prune --force # Cleanup stale layers
|
|
||||||
test_script:
|
|
||||||
- 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"
|
|
||||||
|
|
||||||
task:
|
|
||||||
name: "ARM64: Linux (Debian stable), Valgrind"
|
|
||||||
persistent_worker:
|
|
||||||
labels:
|
|
||||||
type: arm64
|
|
||||||
env:
|
|
||||||
ECDH: yes
|
|
||||||
RECOVERY: yes
|
|
||||||
EXTRAKEYS: yes
|
|
||||||
SCHNORRSIG: yes
|
|
||||||
MUSIG: yes
|
|
||||||
ELLSWIFT: yes
|
|
||||||
WRAPPER_CMD: 'valgrind --error-exitcode=42'
|
|
||||||
SECP256K1_TEST_ITERS: 2
|
|
||||||
matrix:
|
|
||||||
- env: { CC: 'gcc' }
|
|
||||||
- env: { CC: 'clang' }
|
|
||||||
- env: { CC: 'gcc-snapshot' }
|
|
||||||
- env: { CC: 'clang-snapshot' }
|
|
||||||
<< : *LINUX_ARM64_CONTAINER
|
|
||||||
<< : *CAT_LOGS
|
|
||||||
38
.github/workflows/ci.yml
vendored
38
.github/workflows/ci.yml
vendored
@@ -305,18 +305,38 @@ jobs:
|
|||||||
|
|
||||||
|
|
||||||
valgrind_debian:
|
valgrind_debian:
|
||||||
name: "Valgrind (memcheck)"
|
name: "Valgrind ${{ matrix.binary_arch }} (memcheck)"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ${{ matrix.runner }}
|
||||||
needs: docker_cache
|
needs: docker_cache
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
configuration:
|
include:
|
||||||
- env_vars: { CC: 'clang', ASM: 'auto' }
|
- docker_arch: x64
|
||||||
- env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
|
runner: ubuntu-latest
|
||||||
- env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
|
binary_arch: x64
|
||||||
- env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
|
env_vars: { CC: 'clang', ASM: 'auto' }
|
||||||
|
- docker_arch: x64
|
||||||
|
runner: ubuntu-latest
|
||||||
|
binary_arch: i686
|
||||||
|
env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'auto' }
|
||||||
|
- docker_arch: arm64
|
||||||
|
runner: ubuntu-24.04-arm
|
||||||
|
binary_arch: arm64
|
||||||
|
env_vars: { CC: 'clang', ASM: 'auto' }
|
||||||
|
- docker_arch: x64
|
||||||
|
runner: ubuntu-latest
|
||||||
|
binary_arch: x64
|
||||||
|
env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
|
||||||
|
- docker_arch: x64
|
||||||
|
runner: ubuntu-latest
|
||||||
|
binary_arch: i686
|
||||||
|
env_vars: { CC: 'i686-linux-gnu-gcc', HOST: 'i686-linux-gnu', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
|
||||||
|
- docker_arch: arm64
|
||||||
|
runner: ubuntu-24.04-arm
|
||||||
|
binary_arch: arm64
|
||||||
|
env_vars: { CC: 'clang', ASM: 'no', ECMULTGENKB: 2, ECMULTWINDOW: 2 }
|
||||||
|
|
||||||
env:
|
env:
|
||||||
# The `--error-exitcode` is required to make the test fail if valgrind found errors,
|
# The `--error-exitcode` is required to make the test fail if valgrind found errors,
|
||||||
@@ -336,11 +356,11 @@ jobs:
|
|||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
- name: CI script
|
- name: CI script
|
||||||
env: ${{ matrix.configuration.env_vars }}
|
env: ${{ matrix.env_vars }}
|
||||||
uses: ./.github/actions/run-in-docker-action
|
uses: ./.github/actions/run-in-docker-action
|
||||||
with:
|
with:
|
||||||
dockerfile: ./ci/linux-debian.Dockerfile
|
dockerfile: ./ci/linux-debian.Dockerfile
|
||||||
tag: x64-debian-image
|
tag: ${{ matrix.docker_arch }}-debian-image
|
||||||
|
|
||||||
- name: Print logs
|
- name: Print logs
|
||||||
uses: ./.github/actions/print-logs
|
uses: ./.github/actions/print-logs
|
||||||
|
|||||||
Reference in New Issue
Block a user