Merged
Conversation
Collaborator
Author
|
@greptile |
richyreachy
previously approved these changes
Mar 20, 2026
richyreachy
approved these changes
Mar 23, 2026
Collaborator
Author
|
@Greptile |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Greptile Summary
This PR adds a new Clang CI job for
linux-x64by introducing an optionalcompilerinput to the reusable build workflow and a corresponding new pipeline job. The changes are well-scoped and the previously flagged missing OS guard on theInstall Clangstep has been correctly addressed.Key changes:
01-ci-pipeline.yml: Addsbuild-and-test-linux-x64-clangjob that calls the reusable workflow withcompiler: clangonubuntu-24.04.03-macos-linux-build.yml: Adds optionalcompilerinput (defaults to''); installsclangandlibomp-devvia apt on Linux whencompiler == 'clang'; exportsCC=clang/CXX=clang++for the build steps.Install Clangstep is correctly guarded withinputs.compiler == 'clang' && runner.os == 'Linux'.CC/CXXdoes not carry the samerunner.os == 'Linux'guard, which could produce unexpected behaviour if the workflow is extended to macOS clang builds in the future.Confidence Score: 4/5
CC/CXXare set without arunner.os == 'Linux'guard, which does not affect the current job configuration but could silently misbehave if a future macOS clang job is added.03-macos-linux-build.yml— specifically the compiler env-var block at lines 74–77.Important Files Changed
build-and-test-linux-x64-clangjob that calls the reusable build workflow withcompiler: clangonubuntu-24.04; straightforward and correct.compilerinput, installs Clang + libomp-dev on Linux when requested, and exportsCC/CXX. The install step is correctly OS-guarded, but the env-var block that setsCC/CXXlacks the same guard, creating a minor inconsistency if the workflow is reused on macOS withcompiler: clang.Flowchart
%%{init: {'theme': 'neutral'}}%% flowchart TD A([Push / PR / workflow_dispatch]) --> B[lint job] B --> C[build-and-test-macos-arm64\nmacos-15] B --> D[build-and-test-linux-arm64\nubuntu-24.04-arm] B --> E[build-and-test-linux-x64\nubuntu-24.04 / gcc] B --> F[build-and-test-linux-x64-clang\nubuntu-24.04 / clang ✨NEW] B --> G[build-android] subgraph reusable ["03-macos-linux-build.yml (reusable)"] H[Checkout + Setup Python] H --> I{compiler == clang\n&& runner.os == Linux?} I -- yes --> J[apt install clang libomp-dev] I -- no --> K[Skip install] J --> L[Set up env vars\nCC=clang CXX=clang++] K --> L L --> M[pip install dependencies] M --> N[Build from source\npython -m pip install] N --> O[Run C++ Tests] O --> P[Run Python Tests] P --> Q[Run C++ Examples] end F --> reusable E --> reusable C --> reusable D --> reusableReviews (3): Last reviewed commit: "address comments" | Re-trigger Greptile