-
Notifications
You must be signed in to change notification settings - Fork 106
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
157 changed files
with
71,872 additions
and
4 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
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: auto | ||
ECMULTGENPRECISION: auto | ||
ASM: no | ||
WIDEMUL: auto | ||
WITH_VALGRIND: yes | ||
EXTRAFLAGS: | ||
### secp256k1 modules | ||
EXPERIMENTAL: no | ||
ECDH: no | ||
RECOVERY: no | ||
SCHNORRSIG: no | ||
ELLSWIFT: no | ||
### test options | ||
SECP256K1_TEST_ITERS: | ||
BENCH: yes | ||
SECP256K1_BENCH_ITERS: 2 | ||
CTIMETESTS: yes | ||
# 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: | ||
- 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)" | ||
persistent_worker: | ||
labels: | ||
type: arm64 | ||
env: | ||
ECDH: yes | ||
RECOVERY: yes | ||
SCHNORRSIG: yes | ||
ELLSWIFT: yes | ||
matrix: | ||
# Currently only gcc-snapshot, the other compilers are tested on GHA with QEMU | ||
- env: { CC: 'gcc-snapshot' } | ||
<< : *LINUX_ARM64_CONTAINER | ||
<< : *CAT_LOGS | ||
|
||
task: | ||
name: "ARM64: Linux (Debian stable), Valgrind" | ||
persistent_worker: | ||
labels: | ||
type: arm64 | ||
env: | ||
ECDH: yes | ||
RECOVERY: yes | ||
SCHNORRSIG: 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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
src/precomputed_ecmult.c linguist-generated | ||
src/precomputed_ecmult_gen.c linguist-generated |
33 changes: 33 additions & 0 deletions
33
libsecp256k1/.github/actions/install-homebrew-valgrind/action.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
name: "Install Valgrind" | ||
description: "Install Homebrew's Valgrind package and cache it." | ||
runs: | ||
using: "composite" | ||
steps: | ||
- run: | | ||
brew tap LouisBrunner/valgrind | ||
brew fetch --HEAD LouisBrunner/valgrind/valgrind | ||
echo "CI_HOMEBREW_CELLAR_VALGRIND=$(brew --cellar valgrind)" >> "$GITHUB_ENV" | ||
shell: bash | ||
- run: | | ||
sw_vers > valgrind_fingerprint | ||
brew --version >> valgrind_fingerprint | ||
git -C "$(brew --cache)/valgrind--git" rev-parse HEAD >> valgrind_fingerprint | ||
cat valgrind_fingerprint | ||
shell: bash | ||
- uses: actions/cache@v4 | ||
id: cache | ||
with: | ||
path: ${{ env.CI_HOMEBREW_CELLAR_VALGRIND }} | ||
key: ${{ github.job }}-valgrind-${{ hashFiles('valgrind_fingerprint') }} | ||
|
||
- if: steps.cache.outputs.cache-hit != 'true' | ||
run: | | ||
brew install --HEAD LouisBrunner/valgrind/valgrind | ||
shell: bash | ||
|
||
- if: steps.cache.outputs.cache-hit == 'true' | ||
run: | | ||
brew link valgrind | ||
shell: bash |
53 changes: 53 additions & 0 deletions
53
libsecp256k1/.github/actions/run-in-docker-action/action.yml
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,53 @@ | ||
name: 'Run in Docker with environment' | ||
description: 'Run a command in a Docker container, while passing explicitly set environment variables into the container.' | ||
inputs: | ||
dockerfile: | ||
description: 'A Dockerfile that defines an image' | ||
required: true | ||
tag: | ||
description: 'A tag of an image' | ||
required: true | ||
command: | ||
description: 'A command to run in a container' | ||
required: false | ||
default: ./ci/ci.sh | ||
runs: | ||
using: "composite" | ||
steps: | ||
- uses: docker/setup-buildx-action@v3 | ||
|
||
- uses: docker/build-push-action@v5 | ||
id: main_builder | ||
continue-on-error: true | ||
with: | ||
context: . | ||
file: ${{ inputs.dockerfile }} | ||
tags: ${{ inputs.tag }} | ||
load: true | ||
cache-from: type=gha | ||
|
||
- uses: docker/build-push-action@v5 | ||
id: retry_builder | ||
if: steps.main_builder.outcome == 'failure' | ||
with: | ||
context: . | ||
file: ${{ inputs.dockerfile }} | ||
tags: ${{ inputs.tag }} | ||
load: true | ||
cache-from: type=gha | ||
|
||
- # Workaround for https://github.com/google/sanitizers/issues/1614 . | ||
run: sudo sysctl -w vm.mmap_rnd_bits=28 | ||
shell: bash | ||
|
||
- # Tell Docker to pass environment variables in `env` into the container. | ||
run: > | ||
docker run \ | ||
$(echo '${{ toJSON(env) }}' | jq -r 'keys[] | "--env \(.) "') \ | ||
--volume ${{ github.workspace }}:${{ github.workspace }} \ | ||
--workdir ${{ github.workspace }} \ | ||
${{ inputs.tag }} bash -c " | ||
git config --global --add safe.directory ${{ github.workspace }} | ||
${{ inputs.command }} | ||
" | ||
shell: bash |
Oops, something went wrong.