From 7b799c1973e32ad6805836bc1e4bdf584be9a247 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Wed, 8 Oct 2025 22:02:55 +0200 Subject: [PATCH 01/15] try julia 1.12 --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a4af483b..e020e647 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -36,7 +36,7 @@ jobs: - x64 julia_version: - '1.10' - - '1.11' + - '1.12' t8code_version: - '3.0.1' include: From 40ceb443d2ad8ee263ebb62ea2458e246c145911 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Wed, 8 Oct 2025 22:14:00 +0200 Subject: [PATCH 02/15] temporarily disable error from warning --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e020e647..048610eb 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -119,6 +119,7 @@ jobs: cd build cmake .. -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_C_FLAGS="-Wno-error=unused-parameter" \ -DT8CODE_ROOT=$PWD/../t8code-local/prefix \ -DENABLE_TESTING=ON -DJULIA_PROJECT_PATH=../libtrixi-julia @@ -130,7 +131,7 @@ jobs: cmake .. -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_BUILD_TYPE=Debug \ -DT8CODE_ROOT=$PWD/../t8code-local/prefix \ - -DCMAKE_C_FLAGS="-cpp --coverage -O0" \ + -DCMAKE_C_FLAGS="-cpp --coverage -O0 -Wno-error=unused-parameter" \ -DCMAKE_Fortran_FLAGS="-cpp --coverage -O0" \ -DCMAKE_EXE_LINKER_FLAGS="--coverage" \ -DCMAKE_SHARED_LINKER_FLAGS="--coverage" \ From 308fc35b499a2c686429b96f3a36b2ce645e0ffc Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Tue, 25 Nov 2025 13:34:25 +0100 Subject: [PATCH 03/15] try without preloading --- .github/workflows/ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 798d8dde..2d75b3a3 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,7 +47,7 @@ jobs: t8code_version: '3.0.1' env: # Necessary for HDF5 to play nice with Julia - LD_PRELOAD: /lib/x86_64-linux-gnu/libcurl.so.4 + # LD_PRELOAD: /lib/x86_64-linux-gnu/libcurl.so.4 # Necessary such that libtrixi will not use its own default for the depot path JULIA_DEPOT_PATH: ~/.julia steps: @@ -235,7 +235,7 @@ jobs: check_bounds: 'auto' env: LIBTRIXI_DEBUG: all - LD_PRELOAD: "" # Disable preloading libcurl.so since it does not work with the JLL-provided libhdf5.so + # LD_PRELOAD: "" # Disable preloading libcurl.so since it does not work with the JLL-provided libhdf5.so - name: Run examples if: ${{ matrix.test_type == 'regular' || matrix.test_type == 'coverage' }} From 286afc2a98fbea23b94ccd8ca352729ebc8d0c32 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Tue, 2 Dec 2025 15:46:48 +0100 Subject: [PATCH 04/15] without Base? --- LibTrixi.jl/src/api_jl.jl | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/LibTrixi.jl/src/api_jl.jl b/LibTrixi.jl/src/api_jl.jl index f60968ee..513a9be9 100644 --- a/LibTrixi.jl/src/api_jl.jl +++ b/LibTrixi.jl/src/api_jl.jl @@ -8,8 +8,7 @@ function trixi_initialize_simulation_jl(filename) # Initialize simulation state # Note: we need `invokelatest` here since the function is dynamically upon `include` - # Note: `invokelatest` is not exported until Julia v1.9, thus we call it through `Base` - simstate = Base.invokelatest(Main.init_simstate) + simstate = invokelatest(Main.init_simstate) if show_debug_output() println("Simulation state initialized") From ef40f1046685695d34c31fb7a4396526c7a6a0a8 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 4 Dec 2025 10:49:46 +0100 Subject: [PATCH 05/15] use @invokelatest --- LibTrixi.jl/src/api_jl.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LibTrixi.jl/src/api_jl.jl b/LibTrixi.jl/src/api_jl.jl index 513a9be9..ecfc0538 100644 --- a/LibTrixi.jl/src/api_jl.jl +++ b/LibTrixi.jl/src/api_jl.jl @@ -8,7 +8,7 @@ function trixi_initialize_simulation_jl(filename) # Initialize simulation state # Note: we need `invokelatest` here since the function is dynamically upon `include` - simstate = invokelatest(Main.init_simstate) + simstate = @invokelatest Main.init_simstate() if show_debug_output() println("Simulation state initialized") From 9a13ded2d00d1474b54a6f114aa465ae885ece7d Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 26 Jan 2026 13:35:29 +0100 Subject: [PATCH 06/15] 1.12 for coverage as well --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index ed39e36c..d9ef4a3b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -43,7 +43,7 @@ jobs: - os: ubuntu-latest test_type: coverage arch: x64 - julia_version: '1.11' + julia_version: '1.12' t8code_version: '3.0.1' env: # Necessary for HDF5 to play nice with Julia From 47959e5ee2c618873edfb0d8d3521913503a2c40 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 26 Jan 2026 16:42:48 +0100 Subject: [PATCH 07/15] ternary operator?! --- .github/workflows/ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d9ef4a3b..4cc1cd24 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -46,10 +46,11 @@ jobs: julia_version: '1.12' t8code_version: '3.0.1' env: - # Necessary for HDF5 to play nice with Julia - # LD_PRELOAD: /lib/x86_64-linux-gnu/libcurl.so.4 + # Necessary for HDF5 to play nice with Julia 1.10 + LD_PRELOAD: ${{ matrix.julia_version == '1.10' && '/lib/x86_64-linux-gnu/libcurl.so.4' || '' }} # Necessary such that libtrixi will not use its own default for the depot path JULIA_DEPOT_PATH: ~/.julia + JULIA_NUM_THREADS: 1 steps: - name: Checkout repository uses: actions/checkout@v6 From 59071191b99990a5a78fc0863c5e4f23d9028494 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 26 Jan 2026 18:50:34 +0100 Subject: [PATCH 08/15] missed comment --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4cc1cd24..1592f99b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -47,6 +47,7 @@ jobs: t8code_version: '3.0.1' env: # Necessary for HDF5 to play nice with Julia 1.10 + # https://docs.github.com/en/actions/reference/workflows-and-actions/expressions#example LD_PRELOAD: ${{ matrix.julia_version == '1.10' && '/lib/x86_64-linux-gnu/libcurl.so.4' || '' }} # Necessary such that libtrixi will not use its own default for the depot path JULIA_DEPOT_PATH: ~/.julia @@ -236,7 +237,7 @@ jobs: check_bounds: 'auto' env: LIBTRIXI_DEBUG: all - # LD_PRELOAD: "" # Disable preloading libcurl.so since it does not work with the JLL-provided libhdf5.so + LD_PRELOAD: "" # Disable preloading libcurl.so since it does not work with the JLL-provided libhdf5.so - name: Run examples if: ${{ matrix.test_type == 'regular' || matrix.test_type == 'coverage' }} From 5edb458fedd48716e426c61c63f9aaad4c013f0a Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 26 Jan 2026 18:53:42 +0100 Subject: [PATCH 09/15] comment on JULIA_NUM_THREADS --- .github/workflows/ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 1592f99b..4c32d089 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,6 +51,7 @@ jobs: LD_PRELOAD: ${{ matrix.julia_version == '1.10' && '/lib/x86_64-linux-gnu/libcurl.so.4' || '' }} # Necessary such that libtrixi will not use its own default for the depot path JULIA_DEPOT_PATH: ~/.julia + # This seems to fix some stalling C tests JULIA_NUM_THREADS: 1 steps: - name: Checkout repository From 32f28d0bcc2cfafb7eeecfe0460915d1d35210eb Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Mon, 26 Jan 2026 18:54:00 +0100 Subject: [PATCH 10/15] bump typos version --- .github/workflows/SpellCheck.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/SpellCheck.yml b/.github/workflows/SpellCheck.yml index 0f9b6812..7848cddb 100644 --- a/.github/workflows/SpellCheck.yml +++ b/.github/workflows/SpellCheck.yml @@ -10,4 +10,4 @@ jobs: - name: Checkout Actions Repository uses: actions/checkout@v6 - name: Check spelling - uses: crate-ci/typos@v1.42.0 + uses: crate-ci/typos@v1.42.1 From ef14cb4b7534dd41318463e46bc558f96f595610 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Tue, 27 Jan 2026 10:04:29 +0100 Subject: [PATCH 11/15] Trixi 0.14 in test --- LibTrixi.jl/test/Project.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LibTrixi.jl/test/Project.toml b/LibTrixi.jl/test/Project.toml index 3174d971..65b436a3 100644 --- a/LibTrixi.jl/test/Project.toml +++ b/LibTrixi.jl/test/Project.toml @@ -5,7 +5,7 @@ Trixi = "a7f1ee26-1774-49b1-8366-f1abc58fbfcb" [compat] OrdinaryDiffEq = "6.53.2" -Trixi = "0.11.12, 0.12, 0.13" +Trixi = "0.11.12, 0.12, 0.13, 0.14" [preferences.OrdinaryDiffEq] PrecompileAutoSpecialize = false From 39e92e661473dd066e9ccdd65a812c632a791c88 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Wed, 28 Jan 2026 13:06:52 +0100 Subject: [PATCH 12/15] revert threads --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4c32d089..75d3e82c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: # Necessary such that libtrixi will not use its own default for the depot path JULIA_DEPOT_PATH: ~/.julia # This seems to fix some stalling C tests - JULIA_NUM_THREADS: 1 + # JULIA_NUM_THREADS: 1 steps: - name: Checkout repository uses: actions/checkout@v6 @@ -117,6 +117,7 @@ jobs: - name: Configure (test_type == 'regular') if: ${{ matrix.test_type == 'regular' }} + # remove -Wno-error=unused-parameter once https://github.com/JuliaLang/julia/pull/57681 is in the release run: | mkdir build cd build From bc9a5cf628f667d7a423ca7084d2dd31d0c2c478 Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Wed, 28 Jan 2026 22:32:16 +0100 Subject: [PATCH 13/15] conditionally disable warning --- .github/workflows/ci.yml | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 75d3e82c..9144e133 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -52,7 +52,7 @@ jobs: # Necessary such that libtrixi will not use its own default for the depot path JULIA_DEPOT_PATH: ~/.julia # This seems to fix some stalling C tests - # JULIA_NUM_THREADS: 1 + JULIA_NUM_THREADS: 1 steps: - name: Checkout repository uses: actions/checkout@v6 @@ -117,25 +117,30 @@ jobs: - name: Configure (test_type == 'regular') if: ${{ matrix.test_type == 'regular' }} - # remove -Wno-error=unused-parameter once https://github.com/JuliaLang/julia/pull/57681 is in the release + # remove once https://github.com/JuliaLang/julia/pull/57681 is in the release + with: + c_flags: ${{ matrix.julia_version == '1.12' && '-Wno-error=unused-parameter' || '' }} run: | mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS="-Wno-error=unused-parameter" \ + -DCMAKE_C_FLAGS="${INPUT_C_FLAGS}" \ -DT8CODE_ROOT=$PWD/../t8code-local/prefix \ -DENABLE_TESTING=ON -DJULIA_PROJECT_PATH=../libtrixi-julia - name: Configure (test_type == 'coverage') if: ${{ matrix.test_type == 'coverage' }} + # remove once https://github.com/JuliaLang/julia/pull/57681 is in the release + with: + c_flags: ${{ matrix.julia_version == '1.12' && '-Wno-error=unused-parameter' || '' }} run: | mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_BUILD_TYPE=Debug \ -DT8CODE_ROOT=$PWD/../t8code-local/prefix \ - -DCMAKE_C_FLAGS="-cpp --coverage -O0 -Wno-error=unused-parameter" \ + -DCMAKE_C_FLAGS="-cpp --coverage -O0 ${INPUT_C_FLAGS}" \ -DCMAKE_Fortran_FLAGS="-cpp --coverage -O0" \ -DCMAKE_EXE_LINKER_FLAGS="--coverage" \ -DCMAKE_SHARED_LINKER_FLAGS="--coverage" \ @@ -210,7 +215,7 @@ jobs: if: ${{ matrix.test_type == 'package-compiler' }} run: | cd build - make -j2 + make du -hL ./prefix-pc/lib/libtrixi.so - name: Test external CMake project From 14b11c48beaa7c90baab007b9832d846605c6f1c Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Wed, 28 Jan 2026 23:18:44 +0100 Subject: [PATCH 14/15] conditional in run? --- .github/workflows/ci.yml | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9144e133..d75b543c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -117,30 +117,28 @@ jobs: - name: Configure (test_type == 'regular') if: ${{ matrix.test_type == 'regular' }} - # remove once https://github.com/JuliaLang/julia/pull/57681 is in the release - with: - c_flags: ${{ matrix.julia_version == '1.12' && '-Wno-error=unused-parameter' || '' }} run: | + # remove once https://github.com/JuliaLang/julia/pull/57681 is in the release + C_FLAGS=${{ matrix.julia_version == '1.12' && '-Wno-error=unused-parameter' || '' }} mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_C_FLAGS="${INPUT_C_FLAGS}" \ + -DCMAKE_C_FLAGS="${C_FLAGS}" \ -DT8CODE_ROOT=$PWD/../t8code-local/prefix \ -DENABLE_TESTING=ON -DJULIA_PROJECT_PATH=../libtrixi-julia - name: Configure (test_type == 'coverage') if: ${{ matrix.test_type == 'coverage' }} - # remove once https://github.com/JuliaLang/julia/pull/57681 is in the release - with: - c_flags: ${{ matrix.julia_version == '1.12' && '-Wno-error=unused-parameter' || '' }} run: | + # remove once https://github.com/JuliaLang/julia/pull/57681 is in the release + C_FLAGS=${{ matrix.julia_version == '1.12' && '-Wno-error=unused-parameter' || '' }} mkdir build cd build cmake .. -DCMAKE_INSTALL_PREFIX=../install \ -DCMAKE_BUILD_TYPE=Debug \ -DT8CODE_ROOT=$PWD/../t8code-local/prefix \ - -DCMAKE_C_FLAGS="-cpp --coverage -O0 ${INPUT_C_FLAGS}" \ + -DCMAKE_C_FLAGS="-cpp --coverage -O0 ${C_FLAGS}" \ -DCMAKE_Fortran_FLAGS="-cpp --coverage -O0" \ -DCMAKE_EXE_LINKER_FLAGS="--coverage" \ -DCMAKE_SHARED_LINKER_FLAGS="--coverage" \ From 10a89225f611d8c343ea06b27f627969260c1b3d Mon Sep 17 00:00:00 2001 From: Benedict Geihe Date: Thu, 29 Jan 2026 07:48:22 +0100 Subject: [PATCH 15/15] move JULIA_NUM_THREAD to C test step --- .github/workflows/ci.yml | 4 ++-- CMakeLists.txt | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index d75b543c..f62ff665 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,8 +51,6 @@ jobs: LD_PRELOAD: ${{ matrix.julia_version == '1.10' && '/lib/x86_64-linux-gnu/libcurl.so.4' || '' }} # Necessary such that libtrixi will not use its own default for the depot path JULIA_DEPOT_PATH: ~/.julia - # This seems to fix some stalling C tests - JULIA_NUM_THREADS: 1 steps: - name: Checkout repository uses: actions/checkout@v6 @@ -321,6 +319,8 @@ jobs: cd build/test/c ctest -V env: + # This seems to fix stalling tests with Julia 1.12 + JULIA_NUM_THREADS: 1 LIBTRIXI_DEBUG: all GTEST_COLOR: 'yes' diff --git a/CMakeLists.txt b/CMakeLists.txt index 5376e94d..845a16e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -99,6 +99,7 @@ if( USE_PACKAGE_COMPILER ) COMMENT "Building ${PROJECT_NAME} with PackageCompiler.jl..." COMMAND ${JULIA_EXECUTABLE} --project=${CMAKE_SOURCE_DIR}/LibTrixi.jl/lib + --threads=1 ${CMAKE_SOURCE_DIR}/LibTrixi.jl/lib/build.jl ${JULIA_PROJECT_PATH} ${CMAKE_BINARY_DIR}/prefix-pc