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

CI: Add clang to GitHub Actions build-tests matrix #1812

Closed
wants to merge 18 commits into from

Conversation

kinkie
Copy link
Contributor

@kinkie kinkie commented May 10, 2024

Add "compiler" dimension to build-tests matrix.

Do not test layer-04-noauth-everything to partially compensate for the
new matrix dimension repeating other layer tests 3 times.

Change build-tests artifacts name pattern to include compiler dimension
to avoid name clashes that would result in logs being overwritten and
lost. Also use target environment instead of runner environment in
anticipation of adding container-based tests where the two differ.

@kinkie kinkie changed the title Add clang as a github test Add clang as a github action matrix dimension May 10, 2024
@kinkie
Copy link
Contributor Author

kinkie commented May 10, 2024

@rousskov rousskov changed the title Add clang as a github action matrix dimension CI: Add clang to GitHub Actions build-tests matrix May 10, 2024
Copy link
Contributor

@rousskov rousskov left a comment

Choose a reason for hiding this comment

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

Thank you for this CI improvement!

.github/workflows/default.yaml Outdated Show resolved Hide resolved
.github/workflows/default.yaml Show resolved Hide resolved
.github/workflows/default.yaml Show resolved Hide resolved
.github/workflows/default.yaml Outdated Show resolved Hide resolved
.github/workflows/default.yaml Outdated Show resolved Hide resolved
Copy link
Contributor

@rousskov rousskov left a comment

Choose a reason for hiding this comment

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

Great progress, thank you.

.github/workflows/default.yaml Outdated Show resolved Hide resolved
.github/workflows/default.yaml Outdated Show resolved Hide resolved
.github/workflows/default.yaml Outdated Show resolved Hide resolved
.github/workflows/default.yaml Outdated Show resolved Hide resolved
.github/workflows/default.yaml Outdated Show resolved Hide resolved
switch from 'layer' to 'name'
remove whitespace
use comma instead of slash for separator

Co-authored-by: Alex Rousskov <[email protected]>
@rousskov rousskov added the S-waiting-for-author author action is expected (and usually required) label May 14, 2024
If we have to pick one, a "pure gcc" test is more
valuable than a "gcc while clang is installed" test.
rousskov
rousskov previously approved these changes May 14, 2024
Copy link
Contributor

@rousskov rousskov left a comment

Choose a reason for hiding this comment

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

I am approving after merging earlier suggestions as discussed during the meeting and polishing PR description a bit. We will need to change the set of the required tests and Anubis configuration to land this PR, but I am requesting @yadij review first.

.github/workflows/default.yaml Outdated Show resolved Hide resolved
@rousskov rousskov added S-waiting-for-reviewer ready for review: Set this when requesting a (re)review using GitHub PR Reviewers box and removed S-waiting-for-author author action is expected (and usually required) labels May 14, 2024
@rousskov rousskov requested a review from yadij May 14, 2024 21:28
@rousskov
Copy link
Contributor

I also updated PR description to explain why we now use target environment instead of runner environment in build-tests artifacts name pattern.

@yadij yadij added M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels S-could-use-an-approval An approval may speed this PR merger (but is not required) and removed S-waiting-for-reviewer ready for review: Set this when requesting a (re)review using GitHub PR Reviewers box labels May 14, 2024
squid-anubis pushed a commit that referenced this pull request May 15, 2024
Add "compiler" dimension to build-tests matrix.

Change build-tests artifacts name pattern to include compiler dimension
to avoid name clashes that would result in logs being overwritten and
lost. Also use target environment instead of runner environment in
anticipation of adding container-based tests where the two differ.
@squid-anubis squid-anubis added the M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels label May 15, 2024
@rousskov
Copy link
Contributor

I have explained layer-04-noauth-everything removal in the PR description.

@rousskov
Copy link
Contributor

I have completed items 2 and 3 on the test upgrade plan. This allowed Anubis to stage this PR. @eduard-bagdasaryan, please update Anubis configuration to reflect the current set of required status checks. Doing so will complete item 4.

@rousskov rousskov added S-waiting-for-QA QA team action is needed (and usually required) and removed S-could-use-an-approval An approval may speed this PR merger (but is not required) labels May 15, 2024
squid-anubis pushed a commit that referenced this pull request May 15, 2024
Add "compiler" dimension to build-tests matrix.

Do not test layer-04-noauth-everything to partially compensate for the
new matrix dimension repeating other layer tests 3 times.

Change build-tests artifacts name pattern to include compiler dimension
to avoid name clashes that would result in logs being overwritten and
lost. Also use target environment instead of runner environment in
anticipation of adding container-based tests where the two differ.
@squid-anubis squid-anubis added M-merged https://github.com/measurement-factory/anubis#pull-request-labels and removed M-waiting-staging-checks https://github.com/measurement-factory/anubis#pull-request-labels M-cleared-for-merge https://github.com/measurement-factory/anubis#pull-request-labels labels May 15, 2024
@rousskov rousskov removed the S-waiting-for-QA QA team action is needed (and usually required) label May 15, 2024
@eduard-bagdasaryan
Copy link
Contributor

I updated that number as the number of tests in 5a7811a. It is 25 now : 12 GitHub tests + 12 Jenkins tests + PR approval.

@rousskov
Copy link
Contributor

@eduard-bagdasaryan, thank you. This update leaves only one last step on that upgrade plan:

6: Merge master into other pending PRs as needed. They will not be auto-merged until their branches get new tests (because GitHub testing requirements have changed).

There is no reason to rush and update all PRs, of course. We should do that "as needed", usually around the time when a PR is cleared for merging.

@eduard-bagdasaryan
Copy link
Contributor

It is 25 now

It looks like that one of GitHub tests in 5a7811a is not required: "GitHub CI / CodeQL-tests". I'll fix that parameter to 24.

@rousskov
Copy link
Contributor

It looks like that one of GitHub tests in 5a7811a is not required: "GitHub CI / CodeQL-tests".

@yadij, @kinkie, any objections to making that test required for master PRs? FWIW, I do not recall seeing any false negatives from that test.

@kinkie
Copy link
Contributor Author

kinkie commented May 17, 2024

No objection

kinkie added a commit to kinkie/squid that referenced this pull request Jun 9, 2024
Add "compiler" dimension to build-tests matrix.

Do not test layer-04-noauth-everything to partially compensate for the
new matrix dimension repeating other layer tests 3 times.

Change build-tests artifacts name pattern to include compiler dimension
to avoid name clashes that would result in logs being overwritten and
lost. Also use target environment instead of runner environment in
anticipation of adding container-based tests where the two differ.
@kinkie kinkie mentioned this pull request Jun 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
M-merged https://github.com/measurement-factory/anubis#pull-request-labels
Projects
None yet
5 participants