Skip to content
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

Add Clang to CI/CD builds #28

Open
wanderingbort opened this issue Feb 24, 2023 · 7 comments
Open

Add Clang to CI/CD builds #28

wanderingbort opened this issue Feb 24, 2023 · 7 comments
Labels
decision 🤔 An internal decision to made for eng team

Comments

@wanderingbort
Copy link
Contributor

[transferred from legacy agenda on behalf of @linh2931 ]

(Should we) add Clang build (compile only) to CICD?

Example of issue with status quo: Lambda capture of structured binding compiles in GCC but not Clang in ‘C++17’ mode. Example: AntelopeIO/leap#703

@wanderingbort wanderingbort added the decision 🤔 An internal decision to made for eng team label Feb 24, 2023
@wanderingbort
Copy link
Contributor Author

[transferred from legacy agenda on behalf of @spoonincode ]

fortunately there is a task to get the pinned builds in CI asap, so that should offer some coverage

@larryk85
Copy link

I would be in favor of this.

@wanderingbort
Copy link
Contributor Author

2.28 meeting notes:

Open Questions:

  • Is it clang or is it "pinned builds" That we should aim for?

Voted Issues:

  • Use clang as the CI/CD compiler that we build and run ALL tests on? ✅
    • do we maintain GCC as a secondary CI/CD compiler? ✅

@greg7mdp
Copy link

greg7mdp commented Mar 2, 2023

If we want to lower our CI usage for leap, I suggest we run the build + tests on only one platform (instead of the 3 ubuntu 18.04 / 20.04 / 22.04) for branches other than main or release/*.

Most runs are for development branches (for commits during the PR review process), so this would lower the CI usage by almost 3x.

This would allow us to add an extra platform (say ubuntu 22 / clang) while lowering costs. So we'd run CI on 4 platforms for main branches, and on two for development branches.

@greg7mdp
Copy link

greg7mdp commented Mar 2, 2023

Developers would benefit from having every change validated by two separate compilers, so it would be nice to have that for development branches. I think that that was the purpose of this issue.

The CI performed for main or release/* branches should be a separate issue in my opinion. It should provide as much coverage as possible for the configurations we recommend to our users. If we specify a pinned build, it seems obvious that we should run our CI on it for main or release branches.

@mikelik
Copy link

mikelik commented Mar 2, 2023

If we want to lower our CI usage for leap

Do we have any CI limit? And where are we standing with current CI usage?
Maybe this is question to @arhag

@greg7mdp
Copy link

greg7mdp commented Mar 2, 2023

If we want to lower our CI usage for leap

Do we have any CI limit? And where are we standing with current CI usage? Maybe this is question to @arhag

The message from Bart and Yves was that we should not worry about CI costs, there are mostly insignificant, and if they become a problem they will let us know. So cost should not be stopping us from implementing CI if we see benefits to it.

I just wrote the above because I think running the CI on 3 platforms for development branches is obvious overkill (I personally don't see a benefit), so why do it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
decision 🤔 An internal decision to made for eng team
Projects
None yet
Development

No branches or pull requests

4 participants