Skip to content

Conversation

Sjors
Copy link
Member

@Sjors Sjors commented Oct 7, 2025

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.

@DrahtBot
Copy link

DrahtBot commented Oct 7, 2025

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

Reviews

See the guideline for information on the review process.
A summary of reviews will appear here.

@Sjors
Copy link
Member Author

Sjors commented Oct 7, 2025

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.

@ryanofsky
Copy link
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.

@Sjors
Copy link
Member Author

Sjors commented Oct 7, 2025

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 @ a4f9296:

...
-- Configuring done (11.5s)
-- Performing Test CXX_SUPPORTS_EHSC_FLAG - Failed
-- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG
-- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG - Success
CMake Warning at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:8 (message):
  Failed to find compiler-rt builtins library for
Call Stack (most recent call first):
  /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:102 (cache_compiler_rt_library)
  /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:127 (find_compiler_rt_library)


CMake Error at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:130 (message):
  Cannot find compiler-rt directory on OS X required for LLVM_USE_SANITIZER


-- Configuring incomplete, errors occurred!
error: builder for '/nix/store/m5r6a9hrpgbmqhc8i46m1gvcmlhlxz6i-libcxx-21.1.1.drv' failed with exit code 1;
       last 25 log lines:
       > -- Looking for pthread_once in pthread - found
       > -- Looking for __cxa_thread_atexit_impl in c
       > -- Looking for __cxa_thread_atexit_impl in c - not found
       > -- Performing Test CXX_SUPPORTS_FNO_OMIT_FRAME_POINTER_FLAG
       > -- Performing Test CXX_SUPPORTS_FNO_OMIT_FRAME_POINTER_FLAG - Success
       > -- Performing Test CXX_SUPPORTS_GLINE_TABLES_ONLY_FLAG
       > -- Performing Test CXX_SUPPORTS_GLINE_TABLES_ONLY_FLAG - Success
       > -- Performing Test CXX_SUPPORTS_FSTRICT_ALIASING_FLAG
       > -- Performing Test CXX_SUPPORTS_FSTRICT_ALIASING_FLAG - Success
       > -- Performing Test CXX_SUPPORTS_EHSC_FLAG
       > -- Performing Test CXX_SUPPORTS_EHSC_FLAG - Failed
       > -- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG
       > -- Performing Test C_SUPPORTS_FUNWIND_TABLES_FLAG - Success
       > CMake Warning at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:8 (message):
       >   Failed to find compiler-rt builtins library for
       > Call Stack (most recent call first):
       >   /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/cmake/Modules/HandleCompilerRT.cmake:102 (cache_compiler_rt_library)
       >   /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:127 (find_compiler_rt_library)
       >
       >
       > CMake Error at /tmp/nix-build-libcxx-21.1.1.drv-0/libcxx-src-21.1.1/libcxxabi/src/CMakeLists.txt:130 (message):
       >   Cannot find compiler-rt directory on OS X required for LLVM_USE_SANITIZER
       >
       >
       > -- Configuring incomplete, errors occurred!
       For full logs, run:
         nix log /nix/store/m5r6a9hrpgbmqhc8i46m1gvcmlhlxz6i-libcxx-21.1.1.drv
error: 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

@maflcko
Copy link
Contributor

maflcko commented Oct 7, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants