Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
2113a63
:wrench: Disable system header warnings
marcelwa Nov 24, 2025
b17238c
:memo: Add modernization plan
marcelwa Nov 24, 2025
fbf4a93
:see_no_evil: Extend `.gitignore`
marcelwa Nov 24, 2025
d05202c
:pencil2: Fix typo
marcelwa Nov 24, 2025
a0c23b7
:wrench: Add `pytest-xdist` for parallel Python test execution and `p…
marcelwa Nov 24, 2025
1bb250e
:wrench: Modernize CMake calls in workflows
marcelwa Dec 2, 2025
ac4ca60
:wrench: Add missing CMake flag
marcelwa Dec 3, 2025
56437ed
Merge branch 'main' into modernize-cmake-config
marcelwa Dec 3, 2025
40c2ea4
:recycle: Modernize CLI CMake config
marcelwa Dec 15, 2025
5b47220
:recycle: Modernize test CMake config
marcelwa Dec 15, 2025
4c7a03f
:recycle: Modernize include CMake config
marcelwa Dec 15, 2025
6ffa39a
:recycle: Modernize installation CMake config and add dedicated targe…
marcelwa Dec 15, 2025
54f08c9
:recycle: Introduce CMake presets
marcelwa Dec 15, 2025
7dc3a2e
:recycle: Moved from git submodules to CMake's `FetchContent`
marcelwa Dec 15, 2025
2d5b595
:recycle: Moved from git submodules to CMake's `FetchContent`
marcelwa Dec 15, 2025
69abfbb
:wrench: Allow other CMake projects to find fiction
marcelwa Dec 15, 2025
f5ac226
:wrench: Bump supported CMake version
marcelwa Dec 15, 2025
fe3a05b
:wrench: Improve clang-tidy integration
marcelwa Dec 15, 2025
ebdfb6e
:bug: Fix subtle bug in `fanout_substitution`
marcelwa Dec 15, 2025
3548cea
:fire: Remove support for CUDA compilers
marcelwa Dec 15, 2025
fc47d59
:wrench: Further build optimizations through CMake
marcelwa Dec 15, 2025
86e08ae
:see_no_evil: Update `.gitignore`
marcelwa Dec 15, 2025
cb0f497
:wrench: Added useful pre-commit checks
marcelwa Dec 15, 2025
0b02f95
:memo: Update pyfiction docstrings
actions-user Dec 15, 2025
c7b9831
:memo: Added CHANGELOG entry
marcelwa Dec 16, 2025
e70020c
:twisted_rightwards_arrows: Merge `main` into `modernize-cmake-config`
marcelwa Dec 16, 2025
5a9ce1e
Merge branch 'main' into modernize-cmake-config
marcelwa Dec 16, 2025
9bf43ac
:green_heart: Fix CI
marcelwa Dec 16, 2025
57dcd03
:arrow_up: Upgrade Z3 to version 4.15.4
marcelwa Dec 16, 2025
22e991f
:green_heart: Fix CMake config typo
marcelwa Dec 16, 2025
65eda1b
:pencil2: Fix leftover `libs/` after refactoring
marcelwa Dec 16, 2025
7485b77
:fire: Remove redundant CMake config
marcelwa Dec 16, 2025
be89a04
:pencil2: Fix more leftover `libs/`
marcelwa Dec 16, 2025
82fb831
:green_heart: Don't clone submodules
marcelwa Dec 16, 2025
7a0b984
:green_heart: Fix compilation error after pre-commit artifacts
marcelwa Dec 18, 2025
e40e035
:wrench: Update `pytest` and related dependencies
marcelwa Dec 18, 2025
b55a929
:green_heart: Replace leftover macOS-13 tag
marcelwa Dec 18, 2025
4d0a311
:green_heart: Ignore old paths to not fail CI
marcelwa Dec 18, 2025
404a8d0
:green_heart: Replace `libs` with `vendors`
marcelwa Dec 18, 2025
acb29aa
:green_heart: Move helpers to anonymous namespaces to fix linker issues
marcelwa Dec 18, 2025
e0258af
:green_heart: Try `ignore` instead of `ignore-tidy`
marcelwa Dec 18, 2025
e7ef3d5
:rotating_light: Fixed clang-tidy warnings
marcelwa Jan 10, 2026
f74a89b
Merge branch 'main' into modernize-cmake-config
marcelwa Jan 10, 2026
51568df
:rotating_light: Fixed clang-tidy warnings
marcelwa Jan 10, 2026
d2d0674
:green_heart: Fix build error
marcelwa Jan 10, 2026
32586e5
Merge branch 'modernize-cmake-config' of github.com:cda-tum/fiction i…
marcelwa Jan 10, 2026
1d49072
:green_heart: Fix build errors and compiler warnings
marcelwa Jan 10, 2026
9ef031b
:green_heart: Fix build errors
marcelwa Jan 10, 2026
89841da
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 11, 2026
bde34bf
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 11, 2026
e54eef3
:rotating_light: Better suppression of compiler warnings from system …
marcelwa Jan 11, 2026
570e54a
:rewind: Revert system-specific optimizations due to test failures
marcelwa Jan 11, 2026
5833f23
:rewind: Revert test case binary organization back to multi-binary bu…
marcelwa Jan 11, 2026
7d6bb6c
:wrench: Upgrade target macOS version for wheels from 11.0 to 13.0
marcelwa Jan 11, 2026
40fb540
:wrench: Improve uv build caching by removing unconditional `reinstal…
marcelwa Jan 11, 2026
d3f3662
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 11, 2026
e01aea1
:rotating_light: Replace `std::numeric_limits<double>::infinity()` wi…
marcelwa Jan 11, 2026
a543bad
:memo: Update pyfiction docstrings
actions-user Jan 11, 2026
f8a813b
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 12, 2026
9973580
Merge branch 'modernize-cmake-config' of github.com:cda-tum/fiction i…
marcelwa Jan 12, 2026
14ebf7e
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 12, 2026
3ddc8bc
:bug: Replace `std::isinf` checks with `WithinAbs` comparisons using …
marcelwa Jan 12, 2026
5be8e3a
:rewind: Revert `std::numeric_limits<double>::max()` back to `std::nu…
marcelwa Jan 12, 2026
405b423
:memo: Update pyfiction docstrings
actions-user Jan 12, 2026
7428d22
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 12, 2026
467d354
:twisted_rightwards_arrows: Merge
marcelwa Jan 12, 2026
b7cc38f
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 27, 2026
d557593
:building_construction: Refactor the ALGLIB downloader for better rel…
marcelwa Jan 27, 2026
4b0f663
:green_heart: Fix build errors
marcelwa Jan 27, 2026
0e98699
:green_heart: Enhance ALGLIB fetching process with manual extraction …
marcelwa Jan 28, 2026
e84e2c6
:green_heart: Significantly simplify the ALGLIB fetching and make it …
marcelwa Jan 28, 2026
ad61ac5
:green_heart: Remove coverage specification from `noxfile.py`
marcelwa Jan 28, 2026
5affafe
:construction_worker: Deactivate PCH and Unity Builds in CI and limit…
marcelwa Jan 29, 2026
12c8f99
:arrow_down: Downgrade Z3 to ensure ABI compatibility
marcelwa Jan 29, 2026
7ee2e85
:green_heart: Fix `jemalloc` building from source
marcelwa Jan 30, 2026
dc338d6
:fire: Remove verbose comments
marcelwa Jan 30, 2026
643b4df
:rotating_light: Fix `clang-tidy` warnings
marcelwa Jan 30, 2026
a0daa0b
:pushpin: Streamline Z3 versions across all configurations
marcelwa Feb 2, 2026
822d224
:fire: Remove planning document
marcelwa Feb 2, 2026
84311ba
:pencil2: Remove remaining mentions of the `libs/` folder
marcelwa Feb 2, 2026
892dfe8
:memo: Update CHANGELOG
marcelwa Feb 2, 2026
d420ab1
:lock: Updated lockfile
marcelwa Feb 2, 2026
6c5ce6d
:green_heart: Reinsert `libs/*` check into the `clang-tidy` CI to pre…
marcelwa Feb 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .gitattributes
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ benchmarks/fontes18/* linguist-vendored
benchmarks/trindade16/* linguist-vendored
*.v linguist-detectable=false
*.fs linguist-detectable=false
libs/* linguist-detectable=false
libs/combinations/* linguist-detectable=false
libs/graph-coloring/* linguist-detectable=false
libs/mugen/* linguist-detectable=false
libs/undirected_graph/* linguist-detectable=false
vendors/* linguist-detectable=false
vendors/combinations/* linguist-detectable=false
vendors/graph-coloring/* linguist-detectable=false
vendors/mugen/* linguist-detectable=false
vendors/undirected_graph/* linguist-detectable=false
6 changes: 3 additions & 3 deletions .github/workflows/clang-tidy-review.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ permissions:
pull-requests: write

env:
Z3_VERSION: 4.13.0
Z3_VERSION: 4.13.4

jobs:
clangtidy:
Expand All @@ -30,7 +30,6 @@ jobs:
- name: Clone Repository
uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 0

- name: Install dependencies
Expand All @@ -57,6 +56,7 @@ jobs:
-DFICTION_PROGRESS_BARS=ON
-DFICTION_Z3=ON
-DFICTION_ENABLE_MUGEN=ON
-DFICTION_PYTHON_BINDINGS=ON
-DFICTION_ALGLIB=ON
-DFICTION_ENABLE_MUGEN=ON
-DMOCKTURTLE_EXAMPLES=OFF
Expand All @@ -72,7 +72,7 @@ jobs:
database: "build"
step-summary: true
thread-comments: ${{ ((github.event_name == 'pull_request' && !github.event.pull_request.head.repo.fork) && 'update') || 'false' }}
ignore-tidy: "build|libs/*|docs/*|benchmarks/*|bib/*|bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp|bindings/mnt/pyfiction/include/pyfiction/documentation.hpp"
ignore: "build|libs/*|vendors/*|docs/*|benchmarks/*|bib/*|bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp|bindings/mnt/pyfiction/include/pyfiction/documentation.hpp"
version: "21"

- if: steps.linter.outputs.checks-failed > 0
Expand Down
21 changes: 5 additions & 16 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@ on:
- "**/*.cmake"
- "**/CMakeLists.txt"
- "**/*.py"
- "libs/**"
- ".github/workflows/codeql-analysis.yml"
- "!bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp"
pull_request:
Expand All @@ -20,7 +19,6 @@ on:
- "**/*.cmake"
- "**/CMakeLists.txt"
- "**/*.py"
- "libs/**"
- ".github/workflows/codeql-analysis.yml"
- "!bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp"
merge_group:
Expand All @@ -32,7 +30,7 @@ concurrency:
cancel-in-progress: true

env:
Z3_VERSION: 4.13.0
Z3_VERSION: 4.13.4

jobs:
analyze:
Expand Down Expand Up @@ -68,7 +66,6 @@ jobs:
- name: Checkout repository
uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 0

- name: Setup ccache
Expand All @@ -91,7 +88,7 @@ jobs:
- name: Install pip packages
uses: BSFishy/pip-action@v1
with:
requirements: ${{github.workspace}}/libs/mugen/requirements.txt
requirements: ${{github.workspace}}/vendors/mugen/requirements.txt

- name: Setup Z3 Solver
id: z3
Expand All @@ -110,19 +107,12 @@ jobs:
languages: ${{ matrix.language }}
config-file: .github/codeql-config.yml

- if: matrix.language == 'cpp'
name: Create Build Environment
run: cmake -E make_directory ${{github.workspace}}/build

- if: matrix.language == 'cpp'
name: Configure CMake
working-directory: ${{github.workspace}}/build
run: >
cmake ${{github.workspace}}
cmake -S ${{github.workspace}} -B ${{github.workspace}}/build
-DCMAKE_CXX_COMPILER=${{matrix.compiler}}
-DCMAKE_BUILD_TYPE=${{matrix.build_type}}
-DFICTION_ENABLE_UNITY_BUILD=ON
-DFICTION_ENABLE_PCH=ON
-DFICTION_CLI=OFF
-DFICTION_TEST=ON
-DFICTION_BENCHMARK=OFF
Expand All @@ -136,8 +126,7 @@ jobs:

- if: matrix.language == 'cpp'
name: Build fiction
working-directory: ${{github.workspace}}/build
run: cmake --build . --config ${{matrix.build_type}} -j4
run: cmake --build ${{github.workspace}}/build --config ${{matrix.build_type}} --parallel 4

- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v4
Expand All @@ -149,7 +138,7 @@ jobs:
uses: advanced-security/filter-sarif@main
with:
patterns: |
-**/libs/**
-**/vendors/**
-**/docs/**
-**/experiments/**
input: sarif-results/${{ matrix.language }}.sarif
Expand Down
15 changes: 5 additions & 10 deletions .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- ".github/workflows/coverage.yml"
- "!bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp"
pull_request:
Expand All @@ -18,7 +17,6 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- ".github/workflows/coverage.yml"
- "!bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp"
merge_group:
Expand All @@ -33,7 +31,7 @@ defaults:

env:
BUILD_TYPE: Debug
Z3_VERSION: 4.13.0
Z3_VERSION: 4.13.4

jobs:
build_and_test:
Expand All @@ -51,8 +49,6 @@ jobs:

- name: Clone Repository
uses: actions/checkout@v6
with:
submodules: recursive

- name: Setup ccache
uses: hendrikmuhs/ccache-action@v1.2
Expand All @@ -74,7 +70,7 @@ jobs:
- name: Install pip packages
uses: BSFishy/pip-action@v1
with:
requirements: ${{github.workspace}}/libs/mugen/requirements.txt
requirements: ${{github.workspace}}/vendors/mugen/requirements.txt

- name: Setup Z3 Solver
id: z3
Expand All @@ -91,11 +87,10 @@ jobs:
cmake -S ${{github.workspace}} -B ${{github.workspace}}/build -G Ninja
-DCMAKE_CXX_COMPILER=${{matrix.compiler}}
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
-DFICTION_ENABLE_UNITY_BUILD=ON
-DFICTION_ENABLE_PCH=ON
-DFICTION_CLI=OFF
-DFICTION_TEST=ON
-DFICTION_BENCHMARK=OFF
-DFICTION_EXPERIMENTS=OFF
-DFICTION_Z3=ON
-DFICTION_ALGLIB=ON
-DFICTION_ENABLE_MUGEN=ON
Expand All @@ -105,11 +100,11 @@ jobs:
-DMOCKTURTLE_EXAMPLES=OFF

- name: Build
run: cmake --build ${{github.workspace}}/build --config $BUILD_TYPE --parallel
run: cmake --build ${{github.workspace}}/build --config $BUILD_TYPE --parallel 4

- name: Test
working-directory: ${{github.workspace}}/build
run: ctest -C $BUILD_TYPE --output-on-failure --repeat until-pass:3 --parallel
run: ctest -C $BUILD_TYPE --output-on-failure --repeat until-pass:3 --parallel 4

- name: Generate Coverage Report
run: |
Expand Down
32 changes: 7 additions & 25 deletions .github/workflows/macos.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- ".github/workflows/macos.yml"
- "!bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp"
pull_request:
Expand All @@ -18,7 +17,6 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- ".github/workflows/macos.yml"
- "!bindings/mnt/pyfiction/include/pyfiction/pybind11_mkdoc_docstrings.hpp"
merge_group:
Expand All @@ -32,7 +30,7 @@ defaults:
shell: bash

env:
Z3_VERSION: 4.13.0
Z3_VERSION: 4.13.4

jobs:
build_and_test:
Expand All @@ -47,8 +45,6 @@ jobs:
steps:
- name: Clone Repository
uses: actions/checkout@v6
with:
submodules: recursive

- name: Setup Python
uses: actions/setup-python@v6
Expand Down Expand Up @@ -77,17 +73,12 @@ jobs:
version: ${{env.Z3_VERSION}}

# Build and test pipeline for Debug mode
- name: Create Build Environment (Debug)
run: cmake -E make_directory ${{github.workspace}}/build_debug

- name: Configure CMake (Debug)
working-directory: ${{github.workspace}}/build_debug
run: >
cmake ${{github.workspace}}
cmake -S ${{github.workspace}} -B ${{github.workspace}}/build_debug
-DCMAKE_CXX_COMPILER=${{matrix.compiler}}
-DCMAKE_BUILD_TYPE=Debug
-DFICTION_ENABLE_UNITY_BUILD=ON
-DFICTION_ENABLE_PCH=ON
-DFICTION_CLI=ON
-DFICTION_TEST=ON
-DFICTION_BENCHMARK=OFF
Expand All @@ -99,25 +90,18 @@ jobs:
-DMOCKTURTLE_EXAMPLES=OFF

- name: Build (Debug)
working-directory: ${{github.workspace}}/build_debug
run: cmake --build . --config Debug -j4 # all macOS runners provide at least 3 cores
run: cmake --build ${{github.workspace}}/build_debug --config Debug --parallel 3

- name: Test (Debug)
working-directory: ${{github.workspace}}/build_debug
run: ctest -C Debug --verbose --output-on-failure --repeat until-pass:3 --parallel 4
run: ctest --test-dir ${{github.workspace}}/build_debug -C Debug --verbose --output-on-failure --repeat until-pass:3 --parallel 3

# Build and test pipeline for Release mode
- name: Create Build Environment (Release)
run: cmake -E make_directory ${{github.workspace}}/build_release

- name: Configure CMake (Release)
working-directory: ${{github.workspace}}/build_release
run: >
cmake ${{github.workspace}}
cmake -S ${{github.workspace}} -B ${{github.workspace}}/build_release
-DCMAKE_CXX_COMPILER=${{matrix.compiler}}
-DCMAKE_BUILD_TYPE=Release
-DFICTION_ENABLE_UNITY_BUILD=ON
-DFICTION_ENABLE_PCH=ON
-DFICTION_ENABLE_JEMALLOC=ON
-DFICTION_CLI=ON
-DFICTION_TEST=ON
Expand All @@ -130,9 +114,7 @@ jobs:
-DMOCKTURTLE_EXAMPLES=OFF

- name: Build (Release)
working-directory: ${{github.workspace}}/build_release
run: cmake --build . --config Release -j4 # all macOS runners provide at least 3 cores
run: cmake --build ${{github.workspace}}/build_release --config Release --parallel 3

- name: Test (Release)
working-directory: ${{github.workspace}}/build_release
run: ctest -C Release --verbose --output-on-failure --repeat until-pass:3 --parallel 4
run: ctest --test-dir ${{github.workspace}}/build_release -C Release --verbose --output-on-failure --repeat until-pass:3 --parallel 3
1 change: 0 additions & 1 deletion .github/workflows/pyfiction-docstring-generator.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ jobs:
- name: Clone Repository
uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 0 # Fetch all history for all branches and tags

- name: Setup Python
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/pyfiction-pypi-deployment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,9 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- "noxfile.py"
- "pyproject.toml"
- ".uv.lock"
- "uv.lock"
- ".github/workflows/pyfiction-pypi-deployment.yml"
pull_request:
branches: ["main"]
Expand All @@ -29,10 +28,9 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- "noxfile.py"
- "pyproject.toml"
- ".uv.lock"
- "uv.lock"
- ".github/workflows/pyfiction-pypi-deployment.yml"
workflow_dispatch:
workflow_run:
Expand All @@ -50,17 +48,16 @@ concurrency:
cancel-in-progress: true

env:
Z3_VERSION: 4.13.0
Z3_VERSION: 4.13.4

jobs:
build_sdist:
name: 📦 Build Source Distribution
runs-on: ubuntu-latest
steps:
- name: Clone respository
- name: Clone repository
uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 0

- name: Install the latest version of uv
Expand Down
11 changes: 4 additions & 7 deletions .github/workflows/python-bindings.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,9 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- "noxfile.py"
- "pyproject.toml"
- ".uv.lock"
- "uv.lock"
- ".github/workflows/python-bindings.yml"
pull_request:
branches: ["main"]
Expand All @@ -24,10 +23,9 @@ on:
- "**/*.cpp"
- "**/*.cmake"
- "**/CMakeLists.txt"
- "libs/**"
- "noxfile.py"
- "pyproject.toml"
- ".uv.lock"
- "uv.lock"
- ".github/workflows/python-bindings.yml"
workflow_run:
workflows: ["pyfiction Docstring Generator"]
Expand All @@ -43,7 +41,7 @@ defaults:
shell: bash

env:
Z3_VERSION: 4.13.0
Z3_VERSION: 4.13.4

jobs:
python-tests:
Expand All @@ -52,12 +50,11 @@ jobs:
strategy:
fail-fast: false
matrix:
runs-on: [ubuntu-latest, macos-13, macos-15, windows-latest]
runs-on: [ubuntu-latest, macos-latest, windows-latest]
steps:
- name: Clone Repository
uses: actions/checkout@v6
with:
submodules: recursive
fetch-depth: 0

- name: Setup ccache
Expand Down
Loading