Commit Graph

109 Commits

Author SHA1 Message Date
mllwchrry
3b2ceb3e7a Merge commits '14e56970 1605b02f cd49c57e 453949ab 57315a69 97de5120 c5da3bde 99ab4a10 d071aa56 1d146ac3 322d0a43 c7a7f732 ac561601 dfe042fe 3019186a 95e68158 10f546a2 c0a2aba0 ' into temp-merge-1811 2026-03-03 14:45:28 +02:00
mllwchrry
07d4de6433 Merge commits '115b135f c8206b1c b6c2a3cd e7f7083b be5e4f02 5c751833 540fec8a aa2a39c1 8d445730 f9a944ff 2d9137ce 4721e077 471e3a13 ebb35882 1a53f496 c7a52400 ' into temp-merge-1809 2026-03-02 15:56:43 +02:00
DarkWindman
f1e52fac20 Merge commits '88be4e8d b4756543 10dab907 58178851 de6af6ae baa26542 2b7337f6 a44a3393 f44c1ebd d543c0d9 43e7b115 7a2fff85 ' into temp-merge-1758 2026-02-27 14:47:34 +02:00
DarkWindman
38284aa008 Merge commits '2c076d90 20e3b447 74b8068c e523e4f9 d5997141 d2dcf520 f36afb8b 8113671f d93380fb 03fb60ad 4985ac0f 36e76952 ' into temp-merge-1738 2026-02-25 10:44:34 +02:00
Tim Ruffing
79e9f25237 ci: Fix leftover use of old ECMULTGENPRECISION 2026-02-25 08:42:29 +01:00
mllwchrry
9dcd857d54 Merge commits '29e73f4b 89096c23 c4987790 ad60ef7e 943479a7 cbbbf3bd 73a69595 7c338042 5e74086d 6037833c 020ee604 a660a497 b9313c6e ' into temp-merge-1708 2026-02-24 13:31:44 +02:00
mllwchrry
4dda31229e ci: Use Python virtual environment in x86_64-macos-native job 2026-02-23 15:03:08 +02:00
Hennadii Stepanov
795f19af1f ci: Switch to macOS 15 Sequoia Intel-based image
The `macos-13` image has been deprecated and will be unavailable soon.
See: https://github.com/actions/runner-images/issues/13045.
2026-02-23 15:00:53 +02:00
Tim Ruffing
2f057a145f ci: Don't hardcode ABI version 2026-02-20 18:53:01 +02:00
mllwchrry
79953d074b Merge commits '1b1fc093 6c2a39da 31860823 abd25054 4ba1ba2a 03bbe8c6 13ed6f65 a7a51171 2abb35b0 e56716a3 3f54ed8c d84bb83e ' into temp-merge-1661 2026-02-20 18:29:53 +02:00
mllwchrry
347d6adfd2 Merge commits 'a88aa935 01b58933 18f9b967 e59158b6 1fae76f5 f0868a9b 68b55209 9b7c59cb 1464f15c 9a8db52f 7d48f5ed a38d879a ' into temp-merge-1628 2026-02-16 16:04:51 +02:00
Hennadii Stepanov
ed02466d3f ci: Load Docker image by ID from builder step 2026-02-13 21:38:35 +00:00
mllwchrry
248358f2bc Merge commit '3660fe5e' into temp-merge-1479 2026-02-13 13:08:00 +02:00
DarkWindman
551b5dd415 Merge commits 'fded437c cdf08c1a 642c885b f8c1b0e0 3fdf146b b3076144 19888550 2f2ccc46 472faaa8 4c57c7a5 ' into temp-merge-1554 2026-02-11 13:56:17 +02:00
DarkWindman
d0dde4aa2a Merge commits '35c0fdc 5dd637f 69b2192 d7ae25c d403eea f473c95 4af241b a526937 fcc5d73 ca06e58 ea2d5f0 0055b86 ' into temp-merge-1551 2026-02-10 13:06:38 +02:00
mllwchrry
91b2deab7b ci: Add zkp modules to arm64-macos-native job 2026-02-06 14:37:11 +02:00
merge-script
99ab4a105e Merge bitcoin-core/secp256k1#1817: ci: Disable Docker build summary generation
3ae72e7867 ci: Disable Docker build summary generation (Hennadii Stepanov)

Pull request description:

  The generated Docker build [summaries](https://github.com/bitcoin-core/secp256k1/actions/runs/21595861407) provide little practical value to the development workflow and clutter the CI output.

  This PR disables them.

ACKs for top commit:
  real-or-random:
    utACK 3ae72e7867

Tree-SHA512: 0b28520765d5aa1c43ae7025c9be082742bc3784f743b4983947236bceb0255b2fa82cdf81d284470eeb83bda72b442019e051048319681bff09ac190d9b52f6
2026-02-03 15:25:43 +01:00
Hennadii Stepanov
4fb7ccf5d4 ci: Enforce base-10 evaluation 2026-02-03 11:24:14 +00:00
Hennadii Stepanov
3ae72e7867 ci: Disable Docker build summary generation
These summaries provide little practical value to the development
workflow and clutter the CI output.
2026-02-03 08:51:11 +00:00
Hennadii Stepanov
2ccff6eb73 ci: Add weekly schedule 2026-02-02 11:21:11 +00:00
Hennadii Stepanov
2f18567d24 ci: Rotate Docker cache keys every 4 weeks
This forces a periodic clean build to ensure we do not rely on stale
cache layers indefinitely.
2026-02-02 11:17:18 +00:00
Jonas Nick
9a57e3c650 Merge commits 'da515074 ' into temp-merge-1058 2026-01-30 21:18:06 +00:00
mllwchrry
8c72644a0e Merge commits '5ad3aa3 2483627 0653a25 d926510 cdc9a62 427e86b 05bfab6 4b77fec d831168 ' into temp-merge-1515 2026-01-23 19:51:09 +02:00
Hennadii Stepanov
f252da7e6e ci: Use Python virtual environment in "x86_64-macos-native" job 2025-11-07 15:20:03 +00:00
Hennadii Stepanov
8bc50b72ff ci: Switch to macOS 15 Sequoia Intel-based image
The `macos-13` image has been deprecated and will be unavailable soon.
See: https://github.com/actions/runner-images/issues/13045.
2025-10-15 15:31:21 +01:00
merge-script
f44c1ebd96 Merge bitcoin-core/secp256k1#1719: ci: DRY workflow using anchors
15d014804e ci: Drop default for `inputs.command` in `run-in-docker-action` (Hennadii Stepanov)
1decc49a1f ci: Use YAML anchor and aliases for repeated "CI script" steps (Hennadii Stepanov)
dff1bc107d ci, refactor: Generalize use of `matrix.configuration.env_vars` (Hennadii Stepanov)
4b644da199 ci: Use YAML anchor and aliases for repeated "Print logs" steps (Hennadii Stepanov)
a889cd93df ci: Bump `actions/checkout` version (Hennadii Stepanov)
574c2f3080 ci: Use YAML anchor and aliases for repeated "Checkout" steps (Hennadii Stepanov)

Pull request description:

  GHA YAML parser now [supports](https://github.com/actions/runner/issues/1182#issuecomment-3156285802) anchors.

  This PR makes use of that support to [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself) the workflow code.

ACKs for top commit:
  real-or-random:
    utACK 15d014804e

Tree-SHA512: a25a226fec0053242bc46b8c9815067a35af632cfbffefcc5cd4c96a67c0535dde447753099cbc74ecc64072d36aef2aa78c105b66f43cb3134ffa1ae60dca1e
2025-10-14 21:21:26 +02:00
Hennadii Stepanov
15d014804e ci: Drop default for inputs.command in run-in-docker-action
This change decreases coupling.
2025-10-14 12:24:36 +01:00
Hennadii Stepanov
1decc49a1f ci: Use YAML anchor and aliases for repeated "CI script" steps 2025-10-14 12:24:25 +01:00
Hennadii Stepanov
dff1bc107d ci, refactor: Generalize use of matrix.configuration.env_vars 2025-10-14 12:23:54 +01:00
Hennadii Stepanov
4b644da199 ci: Use YAML anchor and aliases for repeated "Print logs" steps 2025-10-14 11:51:22 +01:00
Hennadii Stepanov
a889cd93df ci: Bump actions/checkout version
See https://github.com/actions/checkout/releases.
2025-10-14 11:49:05 +01:00
Hennadii Stepanov
574c2f3080 ci: Use YAML anchor and aliases for repeated "Checkout" steps 2025-10-14 11:47:23 +01:00
Hennadii Stepanov
53585f93b7 ci: Use clang-snapshot in "MSan" job 2025-10-14 11:19:45 +01:00
Hennadii Stepanov
70ae177ca0 ci: Bump docker/build-push-action version
See https://github.com/docker/build-push-action/releases.
2025-10-13 15:54:37 +01:00
Hennadii Stepanov
b2a95a420f ci: Drop tags input for docker/build-push-action
The `tags` input is unused for caching.
2025-10-13 15:54:24 +01:00
Hennadii Stepanov
122014edb3 ci: Add scope parameter to cache-{to,from} options
This change fixes an issue where only the latest image cache was
available.
2025-10-13 15:08:09 +01:00
Hennadii Stepanov
b9a82b481f ci: Update macOS image
The macOS 12 GHA image has been deprecated since 2024-10-07.
See: https://github.com/actions/runner-images/issues/10721
2025-09-18 13:12:29 +05:30
Hennadii Stepanov
a1be8ed1b1 ci: Silent Homebrew's noisy reinstall warnings 2025-09-18 13:12:18 +05:30
Tim Ruffing
fd259fe9ad ci: Add job with -fsanitize-memory-param-retval 2025-09-16 15:27:23 +05:30
merge-script
03fb60ad2e Merge bitcoin-core/secp256k1#1681: doc: Recommend clang-cl when building on Windows
737912430d ci: Add more tests for clang-cl (Hennadii Stepanov)
7379a5bed3 doc: Recommend clang-cl when building on Windows (Hennadii Stepanov)

Pull request description:

  There are several reasons to prefer clang-cl over MSVC, such as improved [security](https://github.com/bitcoin-core/secp256k1/issues/1164) and performance.

  Below are the benchmark results for the master branch @ 201b2b8f06:
  - using [MSVC](https://github.com/bitcoin-core/secp256k1/actions/runs/15439981265/job/43455271726):
  ```
  Benchmark                     ,    Min(us)    ,    Avg(us)    ,    Max(us)

  ecdsa_verify                  ,    66.0       ,    71.0       ,   113.0
  ecdsa_sign                    ,    37.0       ,    37.1       ,    37.5
  ec_keygen                     ,    28.5       ,    28.9       ,    29.0
  ecdh                          ,    66.0       ,    66.2       ,    67.0
  ecdsa_recover                 ,    67.0       ,    74.9       ,   123.0
  schnorrsig_sign               ,    30.0       ,    30.3       ,    30.5
  schnorrsig_verify             ,    66.5       ,    70.6       ,   104.0
  ellswift_encode               ,    17.5       ,    17.9       ,    18.0
  ellswift_decode               ,    14.5       ,    15.3       ,    19.0
  ellswift_keygen               ,    55.0       ,    56.4       ,    63.5
  ellswift_ecdh                 ,    72.5       ,    73.5       ,    79.5
  ```

  - using [clang-cl](https://github.com/bitcoin-core/secp256k1/actions/runs/15439981265/job/43455271749):
  ```
  Benchmark                     ,    Min(us)    ,    Avg(us)    ,    Max(us)

  ecdsa_verify                  ,    41.0       ,    47.5       ,   100.0
  ecdsa_sign                    ,    27.0       ,    27.2       ,    27.5
  ec_keygen                     ,    19.0       ,    19.3       ,    19.5
  ecdh                          ,    42.0       ,    42.4       ,    43.0
  ecdsa_recover                 ,    41.5       ,    45.7       ,    80.0
  schnorrsig_sign               ,    20.0       ,    20.5       ,    20.5
  schnorrsig_verify             ,    41.5       ,    45.5       ,    77.5
  ellswift_encode               ,    13.0       ,    13.0       ,    13.0
  ellswift_decode               ,    10.0       ,    10.4       ,    10.5
  ellswift_keygen               ,    38.5       ,    39.1       ,    41.5
  ellswift_ecdh                 ,    47.0       ,    48.5       ,    59.0
  ```

  On my local machine, the "Release" build configuration:
  - using MSVC:
  ```
  > .\build-msvc\bin\Release\bench.exe
  Benchmark                     ,    Min(us)    ,    Avg(us)    ,    Max(us)

  ecdsa_verify                  ,    81.2       ,    90.6       ,   102.0
  ecdsa_sign                    ,    46.5       ,    48.6       ,    52.9
  ec_keygen                     ,    31.6       ,    34.8       ,    36.2
  ecdh                          ,    73.0       ,    76.4       ,    79.5
  schnorrsig_sign               ,    32.1       ,    34.4       ,    35.8
  schnorrsig_verify             ,    74.6       ,    76.2       ,    79.8
  ellswift_encode               ,    33.4       ,    34.0       ,    34.8
  ellswift_decode               ,    14.9       ,    15.5       ,    17.1
  ellswift_keygen               ,    64.5       ,    65.6       ,    67.1
  ellswift_ecdh                 ,    78.3       ,    80.7       ,    90.1
  ```

  - using clang-cl:
  ```
  > .\build-clangcl\bin\Release\bench.exe
  Benchmark                     ,    Min(us)    ,    Avg(us)    ,    Max(us)

  ecdsa_verify                  ,    40.3       ,    40.6       ,    40.9
  ecdsa_sign                    ,    30.6       ,    30.9       ,    31.3
  ec_keygen                     ,    21.2       ,    21.3       ,    21.5
  ecdh                          ,    41.5       ,    42.4       ,    44.8
  schnorrsig_sign               ,    22.5       ,    22.7       ,    22.8
  schnorrsig_verify             ,    41.2       ,    41.4       ,    41.7
  ellswift_encode               ,    20.3       ,    20.6       ,    20.8
  ellswift_decode               ,     8.50      ,     8.64      ,     8.76
  ellswift_keygen               ,    41.7       ,    42.0       ,    42.4
  ellswift_ecdh                 ,    45.1       ,    45.5       ,    46.3
  ```

ACKs for top commit:
  real-or-random:
    utACK 737912430d

Tree-SHA512: b0a4219cf24208e875a9757a490376af021dd3771911a670d80bb4979713bf1bbdbe206b8e121a3c4d1913c58f4b4593047410aa8104eff19aa3d3f359fd94af
2025-09-02 22:55:03 +02:00
Hennadii Stepanov
737912430d ci: Add more tests for clang-cl 2025-08-24 11:11:55 +01:00
Tim Ruffing
f67b0ac1a0 ci: Don't hardcode ABI version 2025-07-21 17:22:05 +02:00
Sebastian Falbesoner
3352f9d667 ci: enable musig module for native macOS arm64 job 2025-07-10 17:46:51 +02:00
Hennadii Stepanov
004f57fcd8 ci: Move Valgrind build for arm64 from Cirrus to GHA 2025-06-19 20:09:36 +01:00
Hennadii Stepanov
5fafdfc30f ci: Move gcc-snapshot build for arm64 from Cirrus to GHA 2025-06-19 20:09:01 +01:00
Hennadii Stepanov
e814b79a8b ci: Switch arm64_debian from QEMU to native arm64 Docker image 2025-06-19 20:08:32 +01:00
Hennadii Stepanov
bcf77346b9 ci: Add arm64 architecture to docker_cache job 2025-06-19 19:09:18 +01:00
Hennadii Stepanov
b77aae9226 ci: Rename Docker image tag to reflect architecture 2025-06-19 18:57:48 +01:00
Hennadii Stepanov
8ed1d83d92 ci: Run tools/symbol-check.py 2025-03-11 21:59:35 +00:00
merge-script
03bbe8c615 Merge bitcoin-core/secp256k1#1655: gha: Print all *.log files, in a separate action
59860bcc24 gha: Print all *.log files, in a separate action (Tim Ruffing)

Pull request description:

  Before this commit, we didn't print *_example.log files and
  test_suite.log.

  Printing is now handled in a separate action, which avoids code
  duplication and makes the ci.yml file more readable. This changes the
  folding/grouping of the log output in the GitHub Actions CI, but I
  think the new variant is as good as the old one.

  Furthermore, the condition for printing the logs is changed from
  "always()" to "!cancelled()". This ensures that logs will still be
  printed if previous steps such as the CI script failed, but that they
  won't be printed if the entire run is cancelled (e.g., by clicking a
  button in the UI or through a force-push to the PR). This is in line
  with a recommendation in the GHA docs:
  https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/evaluate-expressions-in-workflows-and-actions#always

ACKs for top commit:
  hebasto:
    ACK 59860bcc24.
  sipa:
    ACK 59860bcc24

Tree-SHA512: ca11f5e5f01660964276b9c2e11c22caeed8492e9c7ffaa2078aaaa733005c63242fc93a1056124fb8f1f83019d46818c12b10142fb10f43270a8562fd10885a
2025-03-11 22:08:45 +01:00