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

Make c-cpp-unit-tests job (C/C++ unit tests) in the agw-workflow required #10594

Closed
themarwhal opened this issue Nov 30, 2021 · 0 comments
Closed
Labels
status: accepted type: proposal Proposals and design documents

Comments

@themarwhal
Copy link
Member

themarwhal commented Nov 30, 2021

Make c-cpp-unit-tests job in the agw-workflow required

What the check does

It currently runs all Bazel C/C++ test targets. As of Nov 30 2021, this includes SCTPD/LIAGENTD/CONNECTIOND/SESSIOND. Specifically, it runs bazel test //orc8r/gateway/c/...:* //lte/gateway/c/...:*. Any newly added C/C++ Bazel target will be included without any changes to the CI logic.

Improvements over the current solution

Single job for all C/C++ targets

The check covers any new test targets added under lte/gateway/c/ and orc8r/gateway/c/. So we will not need to add any new CI checks for every new service that we add under these directories.

Test summary upload

At the end of the test run, this check will upload an XML test summary to GitHub actions so that the failures can be easily seen.
On failure, you will see a comment on your PR
Screen Shot 2021-11-30 at 7 32 16 PM
You can then click this check to see a more detailed summary.
Screen Shot 2021-11-30 at 7 32 34 PM

Configuring re-run count for flaky tests

Bazel will automatically re-run any tests marked as flaky up to 3 times. This will be a major improvement as the current jobs do not attempt to re-run anything. For example, the SessionD unit test job has flaked out 3 / 25 runs as of today (Nov 30, 2021, master branch).

Speed

As we utilize Bazel and cache synching, most runs will take around 7 minutes. Note that this check currently runs unit tests for liagentd/sctpd/sessiond. To put this into perspective, the current SessionD job that only runs SessionD unit tests usually takes 9 minutes.

Screen Shot 2021-11-30 at 5 17 19 PM

Remediation steps for check failures

Our official documentation on AGW testing has been updated to include relevant Bazel commands.

Our CI blocking checklist doc has been updated to point to the doc above.

PR: #10561

For any issues that cannot be resolved by the docs above, I can be the POC.

Follow up actions

  1. Once this check is made required, we will remove the individual test jobs for SessionD/LiAgentD/SctpD. (See this PR for more details on how this will be done: chore: remove redundant tests from AGW-WORKFLOW #10592)
@themarwhal themarwhal added the type: proposal Proposals and design documents label Nov 30, 2021
@themarwhal themarwhal changed the title Make c-cpp-unit-tests job in the agw-workflow required Make c-cpp-unit-tests job (C/C++ unit tests) in the agw-workflow required Dec 1, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
status: accepted type: proposal Proposals and design documents
Projects
None yet
Development

No branches or pull requests

2 participants