From 0fada6b48daf038b38420f9b94680dc7c8d8ba7e Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 11:07:32 +0100 Subject: [PATCH 01/14] Add extra step in test workflow to add LLVM bin to path --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3d7a945..2c13af6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,6 +47,9 @@ jobs: brew update brew install ninja llvm@21 bison@3.8 flex + - name: Add LLVM bin to PATH + run: echo "/opt/homebrew/opt/llvm@21/bin" >> $GITHUB_PATH + - name: Configure CMake run: cmake --preset macos-arm64-debug-tests From 847b78946a323e1b61730f9c97cbbe80b8f7d41c Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 11:37:51 +0100 Subject: [PATCH 02/14] Add custom configuration path values for llvm clang and clang++ --- .github/workflows/tests.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 2c13af6..f15f4a1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,11 +47,11 @@ jobs: brew update brew install ninja llvm@21 bison@3.8 flex - - name: Add LLVM bin to PATH - run: echo "/opt/homebrew/opt/llvm@21/bin" >> $GITHUB_PATH - - name: Configure CMake - run: cmake --preset macos-arm64-debug-tests + run: | + cmake --preset macos-arm64-debug-tests \ + -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang \ + -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++ - name: Build run: cmake --build --preset macos-arm64-debug-tests From b2d710cffbda3ae976b3a96dd9c601866f5e0d2e Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 11:54:31 +0100 Subject: [PATCH 03/14] Add custom configuration path values for llvm config-executable --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index f15f4a1..0145198 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -51,7 +51,8 @@ jobs: run: | cmake --preset macos-arm64-debug-tests \ -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang \ - -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++ + -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++ \ + -DLLVM_CONFIG_EXECUTABLE=/opt/homebrew/opt/llvm@21/bin/llvm-config - name: Build run: cmake --build --preset macos-arm64-debug-tests From 1a62eba690900196e14705d08475571aeaf64bf1 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 11:57:14 +0100 Subject: [PATCH 04/14] Add custom configuration path values for llvm linking --- .github/workflows/tests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 0145198..ee8990c 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -52,7 +52,8 @@ jobs: cmake --preset macos-arm64-debug-tests \ -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang \ -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++ \ - -DLLVM_CONFIG_EXECUTABLE=/opt/homebrew/opt/llvm@21/bin/llvm-config + -DLLVM_CONFIG_EXECUTABLE=/opt/homebrew/opt/llvm@21/bin/llvm-config \ + -DCMAKE_EXE_LINKER_FLAGS:-L/opt/homebrew/opt/llvm/@21lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib/c++ - name: Build run: cmake --build --preset macos-arm64-debug-tests From 66d42c2df55a5ee86e898e25351b3ecdce91d461 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 11:59:48 +0100 Subject: [PATCH 05/14] Fix custom configuration path values for llvm linking --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index ee8990c..b6729f1 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -53,7 +53,7 @@ jobs: -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang \ -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++ \ -DLLVM_CONFIG_EXECUTABLE=/opt/homebrew/opt/llvm@21/bin/llvm-config \ - -DCMAKE_EXE_LINKER_FLAGS:-L/opt/homebrew/opt/llvm/@21lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib/c++ + -DCMAKE_EXE_LINKER_FLAGS:-L/opt/homebrew/opt/llvm@21/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib/c++ - name: Build run: cmake --build --preset macos-arm64-debug-tests From 238d34789111c272db88bbdc72ce6bf8abb8b025 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 13:56:09 +0100 Subject: [PATCH 06/14] Fix custom configuration path values for llvm linking --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index b6729f1..7f7eaa6 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -53,7 +53,7 @@ jobs: -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang \ -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++ \ -DLLVM_CONFIG_EXECUTABLE=/opt/homebrew/opt/llvm@21/bin/llvm-config \ - -DCMAKE_EXE_LINKER_FLAGS:-L/opt/homebrew/opt/llvm@21/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib/c++ + -DCMAKE_EXE_LINKER_FLAGS=-L/opt/homebrew/opt/llvm@21/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib/c++ - name: Build run: cmake --build --preset macos-arm64-debug-tests From 729f81d674ace50c3fa2e3f254aa7b254ab47586 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 14:07:49 +0100 Subject: [PATCH 07/14] Try forcing llvm versions --- .github/workflows/tests.yml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 7f7eaa6..a983ed2 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -46,14 +46,11 @@ jobs: run: | brew update brew install ninja llvm@21 bison@3.8 flex + brew link --force llvm@21 + echo "/opt/homebrew/opt/llvm@21/bin" >> $GITHUB_PATH - name: Configure CMake - run: | - cmake --preset macos-arm64-debug-tests \ - -DCMAKE_C_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang \ - -DCMAKE_CXX_COMPILER=/opt/homebrew/opt/llvm@21/bin/clang++ \ - -DLLVM_CONFIG_EXECUTABLE=/opt/homebrew/opt/llvm@21/bin/llvm-config \ - -DCMAKE_EXE_LINKER_FLAGS=-L/opt/homebrew/opt/llvm@21/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib/c++ + run: cmake --preset macos-arm64-debug-tests - name: Build run: cmake --build --preset macos-arm64-debug-tests From 23a86fc125f9b343741d53bf9cef119be17979a0 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 14:10:44 +0100 Subject: [PATCH 08/14] Fix the path to add into the PATH variable --- .github/workflows/tests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index a983ed2..34de307 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -47,7 +47,7 @@ jobs: brew update brew install ninja llvm@21 bison@3.8 flex brew link --force llvm@21 - echo "/opt/homebrew/opt/llvm@21/bin" >> $GITHUB_PATH + echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH - name: Configure CMake run: cmake --preset macos-arm64-debug-tests From ca99804e0fb57ca3f397efca1474bae5cbf5be8b Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 14:39:56 +0100 Subject: [PATCH 09/14] Add tmate for workflow debugging --- .github/workflows/tests.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 34de307..3bc3b99 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -13,6 +13,7 @@ jobs: linux-arm64: name: Linux ARM64 runs-on: ubuntu-latest + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@v4 @@ -38,6 +39,7 @@ jobs: macos-arm64: name: macOS ARM64 runs-on: macos-14 + timeout-minutes: 30 steps: - name: Checkout uses: actions/checkout@v4 @@ -46,8 +48,11 @@ jobs: run: | brew update brew install ninja llvm@21 bison@3.8 flex - brew link --force llvm@21 - echo "/opt/homebrew/opt/llvm/bin" >> $GITHUB_PATH + + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + with: + limit-access-to-actor: true - name: Configure CMake run: cmake --preset macos-arm64-debug-tests From f6d630383e09798e7ac3c6a2d0662073b6102c58 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 14:47:27 +0100 Subject: [PATCH 10/14] Change tmate for upterm for ssh debugging --- .github/workflows/tests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 3bc3b99..e39e0a4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -49,8 +49,8 @@ jobs: brew update brew install ninja llvm@21 bison@3.8 flex - - name: Setup tmate session - uses: mxschmitt/action-tmate@v3 + - name: Setup upterm session + uses: lhotari/action-upterm@v1 with: limit-access-to-actor: true From ee8dae0a485ca7f9930325bde09a9fddef62bf80 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 14:51:24 +0100 Subject: [PATCH 11/14] Add tmux for ssh connection --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index e39e0a4..265d6ac 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -48,6 +48,9 @@ jobs: run: | brew update brew install ninja llvm@21 bison@3.8 flex + + - name: Start tmux + run: tmux new-session -d -s main - name: Setup upterm session uses: lhotari/action-upterm@v1 From 6b50e73df0bd33c2429731d7923588ece60fbb3b Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 14:54:40 +0100 Subject: [PATCH 12/14] Install tmux --- .github/workflows/tests.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 265d6ac..622dc8f 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -49,6 +49,9 @@ jobs: brew update brew install ninja llvm@21 bison@3.8 flex + - name: Install tmux + run: brew install tmux + - name: Start tmux run: tmux new-session -d -s main From df79df3852ca8705382a5c6e6b06473cf78d8f7a Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 14:57:30 +0100 Subject: [PATCH 13/14] Go back to tmate --- .github/workflows/tests.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 622dc8f..34e1ac4 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -49,11 +49,10 @@ jobs: brew update brew install ninja llvm@21 bison@3.8 flex - - name: Install tmux - run: brew install tmux - - - name: Start tmux - run: tmux new-session -d -s main + - name: Setup tmate session + uses: mxschmitt/action-tmate@v3 + with: + limit-access-to-actor: true - name: Setup upterm session uses: lhotari/action-upterm@v1 From 56392642815f3d1a0771d761c61ea37cb2a2dc93 Mon Sep 17 00:00:00 2001 From: imanolpg Date: Thu, 5 Mar 2026 15:46:11 +0100 Subject: [PATCH 14/14] Use the versioned path for llvm 21 in homebrew path --- .github/workflows/tests.yml | 12 +----------- CMakePresets.json | 20 ++++++++++---------- 2 files changed, 11 insertions(+), 21 deletions(-) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 34e1ac4..8d9521a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -39,7 +39,7 @@ jobs: macos-arm64: name: macOS ARM64 runs-on: macos-14 - timeout-minutes: 30 + timeout-minutes: 15 steps: - name: Checkout uses: actions/checkout@v4 @@ -49,16 +49,6 @@ jobs: brew update brew install ninja llvm@21 bison@3.8 flex - - name: Setup tmate session - uses: mxschmitt/action-tmate@v3 - with: - limit-access-to-actor: true - - - name: Setup upterm session - uses: lhotari/action-upterm@v1 - with: - limit-access-to-actor: true - - name: Configure CMake run: cmake --preset macos-arm64-debug-tests diff --git a/CMakePresets.json b/CMakePresets.json index 02f73e3..b1f0960 100644 --- a/CMakePresets.json +++ b/CMakePresets.json @@ -73,13 +73,13 @@ "inherits": "base", "cacheVariables": { "CMAKE_BUILD_TYPE": "Debug", - "BISON_EXECUTABLE": "/opt/homebrew/opt/bison/bin/bison", + "BISON_EXECUTABLE": "/opt/homebrew/opt/bison@3.8/bin/bison", "FLEX_EXECUTABLE": "/opt/homebrew/opt/flex/bin/flex", - "LLVM_CONFIG_EXECUTABLE": "/opt/homebrew/opt/llvm/bin/llvm-config", - "CMAKE_C_COMPILER": "/opt/homebrew/opt/llvm/bin/clang", - "CMAKE_CXX_COMPILER": "/opt/homebrew/opt/llvm/bin/clang++", + "LLVM_CONFIG_EXECUTABLE": "/opt/homebrew/opt/llvm@21/bin/llvm-config", + "CMAKE_C_COMPILER": "/opt/homebrew/opt/llvm@21/bin/clang", + "CMAKE_CXX_COMPILER": "/opt/homebrew/opt/llvm@21/bin/clang++", "CMAKE_CXX_FLAGS": "-stdlib=libc++", - "CMAKE_EXE_LINKER_FLAGS": "-L/opt/homebrew/opt/llvm/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm/lib/c++", + "CMAKE_EXE_LINKER_FLAGS": "-L/opt/homebrew/opt/llvm@21/lib -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib", "CMAKE_OSX_ARCHITECTURES": "arm64" }, "condition": { @@ -109,11 +109,11 @@ "CMAKE_BUILD_TYPE": "Release", "BISON_EXECUTABLE": "/opt/homebrew/opt/bison/bin/bison", "FLEX_EXECUTABLE": "/opt/homebrew/opt/flex/bin/flex", - "LLVM_CONFIG_EXECUTABLE": "/opt/homebrew/opt/llvm/bin/llvm-config", - "CMAKE_C_COMPILER": "/opt/homebrew/opt/llvm/bin/clang", - "CMAKE_CXX_COMPILER": "/opt/homebrew/opt/llvm/bin/clang++", + "LLVM_CONFIG_EXECUTABLE": "/opt/homebrew/opt/llvm@21/bin/llvm-config", + "CMAKE_C_COMPILER": "/opt/homebrew/opt/llvm@21/bin/clang", + "CMAKE_CXX_COMPILER": "/opt/homebrew/opt/llvm@21/bin/clang++", "CMAKE_CXX_FLAGS": "-stdlib=libc++", - "CMAKE_EXE_LINKER_FLAGS": "-L/opt/homebrew/opt/llvm/lib/c++ -Wl,-rpath,/opt/homebrew/opt/llvm/lib/c++", + "CMAKE_EXE_LINKER_FLAGS": "-L/opt/homebrew/opt/llvm@21/lib -Wl,-rpath,/opt/homebrew/opt/llvm@21/lib", "CMAKE_OSX_ARCHITECTURES": "arm64", "HEBE_ENABLE_LTO": "ON", "HEBE_ENABLE_STRIP": "ON" @@ -201,4 +201,4 @@ ] } ] -} \ No newline at end of file +}