Skip to content

Refactor clang-format check into separate CI job#529

Merged
SavenkovIgor merged 3 commits into
mainfrom
claude/format-gate-check-TIXme
May 15, 2026
Merged

Refactor clang-format check into separate CI job#529
SavenkovIgor merged 3 commits into
mainfrom
claude/format-gate-check-TIXme

Conversation

@SavenkovIgor
Copy link
Copy Markdown
Owner

Summary

Extracted the clang-format style check from the build matrix into a dedicated, independent CI job that runs before the build job.

Key Changes

  • Created a new format-gate job that runs clang-format style checks on Ubuntu
  • Moved clang-format check out of the conditional build job (previously only ran for wasm_release profile)
  • Added needs: format-gate dependency to the build job to ensure format checks pass before building
  • Removed the conditional if: matrix.build_profile == 'wasm_release' restriction, making format checks run on every PR

Benefits

  • Faster feedback: Format checks now run in parallel with setup steps rather than during the build
  • Consistent enforcement: Style checks are no longer skipped for non-WASM builds
  • Cleaner separation of concerns: Code formatting validation is isolated from the build process
  • Better CI efficiency: Early failure on style issues prevents unnecessary build steps

https://claude.ai/code/session_01HmQQFR4GkFuwgh4gSxJWiE

Move formatting check out of the build matrix into a dedicated
format-gate job that runs first and gates the entire pipeline.
Fixes formatting running 3 times (once per matrix profile).

Closes #527
Copilot AI review requested due to automatic review settings May 15, 2026 10:42
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR separates the clang-format validation from the build matrix into its own CI gate, making formatting a prerequisite for all builds.

Changes:

  • Adds a dedicated format-gate job that checks formatting after checkout.
  • Makes the build matrix depend on the format gate.
  • Removes the clang-format step from the build job.

claude added 2 commits May 15, 2026 11:14
Emscripten bundles its own Clang. Installing system Clang alongside it
causes a module cache conflict (_Builtin_stddef defined in two places)
because both compilers write to the same default ModuleCache directory.

Skipping the Install Clang step for wasm_release avoids the collision.
clang-scan-deps is required by CMake for C++ module dependency
scanning triggered by Qt's WASM toolchain (-fmodules flag).
The build_machine Conan profile also requires system Clang 21
for cross-compilation (CC=clang with compiler.version=21).

Skipping Clang for wasm_release was incorrect — restoring it.
@SavenkovIgor SavenkovIgor merged commit f6b0ea7 into main May 15, 2026
5 checks passed
@SavenkovIgor SavenkovIgor deleted the claude/format-gate-check-TIXme branch May 15, 2026 12:15
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.

3 participants