Skip to content

Fixed all includes according to coding style - #1039

Draft
volkm wants to merge 4 commits into
stormchecker:masterfrom
volkm:header-includes
Draft

Fixed all includes according to coding style#1039
volkm wants to merge 4 commits into
stormchecker:masterfrom
volkm:header-includes

Conversation

@volkm

@volkm volkm commented Aug 27, 2026

Copy link
Copy Markdown
Contributor

Builds on #1038 and #1044

Fix all includes such that they adhere to the coding style now. This could afterwards be put it into git-blame-ignore-revs.

Notable insights from the includes:

  • The following files never included their header: Formula.cpp, JaniConversionOptions.cpp, SubEnvironment.cpp
  • adapter/sylvan.cpp and string.cpp need to include their headers with absolute path because they already exist in the system
  • ExplicitQuantitativeCheckResult.cpp required a fixed include order in the past, but it seems to work now.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔵 Needs a closer look

It introduces new CI enforcement and applies a very large mechanical include sweep that warrants a final human verification pass (especially for build/config edge cases).

Pull request overview

Adds automated style enforcement to Storm by introducing a dedicated style-check script + CI workflow, and applies a broad include-order cleanup across the C++ codebase so the new checks can be enabled without mass violations.

Changes:

  • Added resources/scripts/check_style.py (include-order / pragma-once / raw-throw checks) plus .check-style-ignore exceptions list.
  • Added a GitHub Actions workflow to run formatting and selected style checks on pushes/PRs.
  • Performed a repository-wide include cleanup (own-header first, then <...>, then "storm/..."), plus a small adapter include consolidation for CUDD.
File summaries
File Description
resources/scripts/check_style.py Implements the style checks that will be enforced in CI.
.github/workflows/style-check.yml Runs clang-format and the new style checker in CI.
.check-style-ignore Defines per-check exceptions to keep the style checks practical.
src/storm/adapters/cudd.h Wraps optional CUDD C++ interface include behind STORM_HAVE_CUDD.
src/storm/storage/dd/cudd/utility.h Switches to the new CUDD adapter header include.
.clang-tidy Enables an additional clang-tidy performance check.
src/** (many .cpp/.h) Mechanical include-order normalization to satisfy the new style rules.
Review details
  • Files reviewed: 300/1082 changed files
  • Comments generated: 2
  • Review effort level: Lite

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

Comment thread src/storm/utility/string.cpp Outdated
Comment thread resources/scripts/check_style.py Outdated
@volkm volkm added the delay merge PR touching a lot of files. Delay merge a bit because it will lead to conflicts with other PR. label Sep 7, 2026
@volkm
volkm marked this pull request as draft September 7, 2026 14:47
@volkm volkm mentioned this pull request Sep 7, 2026
@volkm volkm changed the title CI for coding-styles and fixed all includes Fixed all includes according to coding style Sep 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

delay merge PR touching a lot of files. Delay merge a bit because it will lead to conflicts with other PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants