.cirrus.yml raw

   1  env:
   2    ### cirrus config
   3    CIRRUS_CLONE_DEPTH: 1
   4    ### compiler options
   5    HOST:
   6    WRAPPER_CMD:
   7    # Specific warnings can be disabled with -Wno-error=foo.
   8    # -pedantic-errors is not equivalent to -Werror=pedantic and thus not implied by -Werror according to the GCC manual.
   9    WERROR_CFLAGS: -Werror -pedantic-errors
  10    MAKEFLAGS: -j4
  11    BUILD: check
  12    ### secp256k1 config
  13    ECMULTWINDOW: 15
  14    ECMULTGENKB: 22
  15    ASM: no
  16    WIDEMUL: auto
  17    WITH_VALGRIND: yes
  18    EXTRAFLAGS:
  19    ### secp256k1 modules
  20    EXPERIMENTAL: no
  21    ECDH: no
  22    RECOVERY: no
  23    EXTRAKEYS: no
  24    SCHNORRSIG: no
  25    MUSIG: no
  26    ELLSWIFT: no
  27    ### test options
  28    SECP256K1_TEST_ITERS: 64
  29    BENCH: yes
  30    SECP256K1_BENCH_ITERS: 2
  31    CTIMETESTS: yes
  32    # Compile and run the tests
  33    EXAMPLES: yes
  34  
  35  cat_logs_snippet: &CAT_LOGS
  36    always:
  37      cat_tests_log_script:
  38        - cat tests.log || true
  39      cat_noverify_tests_log_script:
  40        - cat noverify_tests.log || true
  41      cat_exhaustive_tests_log_script:
  42        - cat exhaustive_tests.log || true
  43      cat_ctime_tests_log_script:
  44        - cat ctime_tests.log || true
  45      cat_bench_log_script:
  46        - cat bench.log || true
  47      cat_config_log_script:
  48        - cat config.log || true
  49      cat_test_env_script:
  50        - cat test_env.log || true
  51      cat_ci_env_script:
  52        - env
  53  
  54  linux_arm64_container_snippet: &LINUX_ARM64_CONTAINER
  55    env_script:
  56      - env | tee /tmp/env
  57    build_script:
  58      - DOCKER_BUILDKIT=1 docker build --file "ci/linux-debian.Dockerfile" --tag="ci_secp256k1_arm"
  59      - docker image prune --force  # Cleanup stale layers
  60    test_script:
  61      - 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"
  62  
  63  task:
  64    name: "ARM64: Linux (Debian stable)"
  65    persistent_worker:
  66      labels:
  67        type: arm64
  68    env:
  69      ECDH: yes
  70      RECOVERY: yes
  71      EXTRAKEYS: yes
  72      SCHNORRSIG: yes
  73      MUSIG: yes
  74      ELLSWIFT: yes
  75    matrix:
  76       # Currently only gcc-snapshot, the other compilers are tested on GHA with QEMU
  77       - env: { CC: 'gcc-snapshot' }
  78    << : *LINUX_ARM64_CONTAINER
  79    << : *CAT_LOGS
  80  
  81  task:
  82    name: "ARM64: Linux (Debian stable), Valgrind"
  83    persistent_worker:
  84      labels:
  85        type: arm64
  86    env:
  87      ECDH: yes
  88      RECOVERY: yes
  89      EXTRAKEYS: yes
  90      SCHNORRSIG: yes
  91      MUSIG: yes
  92      ELLSWIFT: yes
  93      WRAPPER_CMD: 'valgrind --error-exitcode=42'
  94      SECP256K1_TEST_ITERS: 2
  95    matrix:
  96       - env: { CC: 'gcc' }
  97       - env: { CC: 'clang' }
  98       - env: { CC: 'gcc-snapshot' }
  99       - env: { CC: 'clang-snapshot' }
 100    << : *LINUX_ARM64_CONTAINER
 101    << : *CAT_LOGS
 102