Improve and document act support #225

pull Sjors wants to merge 2 commits into bitcoin-core:master from Sjors:2025/10/ci-act changing 2 files +35 −0
  1. Sjors commented at 11:17 am on October 7, 2025: member

    Facilitate using act with Docker / Podman as an alternative for using nix directly.

    I found this very useful for testing the sanitizer job against individual commits in #222. That is, once I finally got it to work…

    This disables sandbox and filter-syscalls (but not in the CI environment), which seems fine given that anyone building this code on their own machine has to trust it anyway.

  2. ci: disable KVM and sandbox inside act containers 81712ff6bb
  3. doc: add instructions for using act 4e3f8fa0d2
  4. DrahtBot commented at 11:18 am on October 7, 2025: none

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK ryanofsky

    If your review is incorrectly listed, please react with 👎 to this comment and the bot will ignore it on the next update.

  5. Sjors commented at 11:18 am on October 7, 2025: member

    I’m still testing whether act works against all jobs, but even if only a few like sanitize work that’s useful.


    It works. Thanks to the cache it runs a lot faster the second time. Output is a bit verbose and there’s no summary.

  6. ryanofsky commented at 1:45 pm on October 7, 2025: collaborator

    Nice changes. They seem very useful. It seems like they could be especially useful for testing non-nix jobs like openbsd locally, though not sure if that requires KVM support.

    Am a little curious why you needed this to run the sanitize job. Was it a macos issue? I regularly use the steps in the readme to run CI scripts locally on my machine without needing any containers (e.g. CI_CONFIG=ci/configs/sanitize.bash ci/scripts/run.sh) and that has seemed like the most fast and efficient way possible to run them.

  7. Sjors commented at 3:01 pm on October 7, 2025: member

    It’s been a while, but last time I tried I couldn’t get the nix based CI jobs to run on my Mac.


    Still doesn’t work, e.g. for master @ a4f92969649018ca70f949a09148bccfeaecd99a:

     0...
     1-- Configuring done (11.5s)
     2-- Performing Test CXX_SUPPORTS_EHSC_FLAG - Failed
     3-- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG
     4-- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG - Success
     5CMake Warning at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:8 (message):
     6  Failed to find compiler-rt builtins library for
     7Call Stack (most recent call first):
     8  /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:102 (cache_compiler_rt_library)
     9  /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:127 (find_compiler_rt_library)
    10
    11
    12CMake Error at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:130 (message):
    13  Cannot find compiler-rt directory on OS X required for LLVM_USE_SANITIZER
    14
    15
    16-- Configuring incomplete, errors occurred!
    17error: builder for '/nix/store/m5r6a9hrpgbmqhc8i46m1gvcmlhlxz6i-libcxx-21.1.1.drv' failed with exit code 1;
    18       last 25 log lines:
    19       > -- Looking for pthread_once in pthread - found
    20       > -- Looking for __cxa_thread_atexit_impl in c
    21       > -- Looking for __cxa_thread_atexit_impl in c - not found
    22       > -- Performing Test CXX_SUPPORTS_FNO_OMIT_FRAME_POINTER_FLAG
    23       > -- Performing Test CXX_SUPPORTS_FNO_OMIT_FRAME_POINTER_FLAG - Success
    24       > -- Performing Test CXX_SUPPORTS_GLINE_TABLES_ONLY_FLAG
    25       > -- Performing Test CXX_SUPPORTS_GLINE_TABLES_ONLY_FLAG - Success
    26       > -- Performing Test CXX_SUPPORTS_FSTRICT_ALIASING_FLAG
    27       > -- Performing Test CXX_SUPPORTS_FSTRICT_ALIASING_FLAG - Success
    28       > -- Performing Test CXX_SUPPORTS_EHSC_FLAG
    29       > -- Performing Test CXX_SUPPORTS_EHSC_FLAG - Failed
    30       > -- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG
    31       > -- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG - Success
    32       > CMake Warning at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:8 (message):
    33       >   Failed to find compiler-rt builtins library for
    34       > Call Stack (most recent call first):
    35       >   /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:102 (cache_compiler_rt_library)
    36       >   /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:127 (find_compiler_rt_library)
    37       >
    38       >
    39       > CMake Error at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:130 (message):
    40       >   Cannot find compiler-rt directory on OS X required for LLVM_USE_SANITIZER
    41       >
    42       >
    43       > -- Configuring incomplete, errors occurred!
    44       For full logs, run:
    45         nix log /nix/store/m5r6a9hrpgbmqhc8i46m1gvcmlhlxz6i-libcxx-21.1.1.drv
    46error: build of '/nix/store/m5r6a9hrpgbmqhc8i46m1gvcmlhlxz6i-libcxx-21.1.1.drv', '/nix/store/n8c59j8znsgi8bzw349g7af5x1hzs79p-capnproto-1.2.0.drv' failed
    

    https://gist.github.com/Sjors/bda49b5576a668493575081b3abb11a9

    M4 Apple Silicon macOS 26.0.1

  8. maflcko commented at 3:05 pm on October 7, 2025: contributor
    It should be possible to do so, see https://github.com/maflcko/libmultiprocess/actions/runs/17243581016/job/48927248082 / e8dc12dea22c102ee83bc23cb584cb9096fbee43.
  9. ryanofsky approved
  10. ryanofsky commented at 1:35 pm on November 6, 2025: collaborator
    Code review ACK 4e3f8fa0d2cf32198cf2b1587fd14d014d26dd18. Nice changes, and sorry for not reviewing this earlier. This seems like a useful feature and I plan to use it myself to test githuba ctions changes. Setting up the /nix subvolume in the instructions is also really nice since it should enable builds to run really quickly.
  11. ryanofsky merged this on Nov 6, 2025
  12. ryanofsky closed this on Nov 6, 2025


github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin-core/libmultiprocess. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2025-12-04 19:30 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me