-
Notifications
You must be signed in to change notification settings - Fork 1.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Have CI compile match user compile #1532
Comments
Apologies for the annoyance of the extra CI compilation steps - I know just how annoying the iteration process can be when you get CI failures. CI does compile fprime a little differently from most users:
I'm going to postulate that users don't want these compilation flags enabled for their projects. Because it's a static analyzer, What I would propose:
I'm not sure where the best place to document this would be, but I agree this should be documented to help fprime contributors catch warnings prior to opening a PR. Does this seem reasonable to you Tim? |
So to understand the current capability, I can get the current CI build (minus |
Yes, you get everything minus clang-tidy by building the root project. Running clang-tidy just needs a slightly different generation option So technically you'd need to do two builds:
However, currently all the flight software specific clang tidy run checks for is recursion, so practically speaking it can be pretty safely skipped and the general clang tidy check would be sufficient. |
Solution: document the steps here formally |
Targeted solution that addresses the actual F Prime CI setup.
chmod +x doCiChecks.sh
Key features:
To use this before submitting a PR: ./doCiChecks.sh The script will run all checks sequentially and report any issues. This allows you to catch potential CI failures before pushing your changes. Note that as mentioned by Joshua-Anderson:
|
Feature Description
Have the CI compile flags match the user compile flags.
Rationale
CI builds, especially unit tests, often fail because the compile arguments are stricter than the ones that the user can use. This can cause multiple branch pushes to a PR just to get CI to pass. The compiler arguments should match or alternatively the user could be provided a script or cmake command to make sure CI won't fail before pushing to CI.
The text was updated successfully, but these errors were encountered: