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

[20542] Refactor Github CI sanitizer related jobs (backport #4662) #4676

Merged
merged 2 commits into from
Apr 18, 2024

Conversation

mergify[bot]
Copy link
Contributor

@mergify mergify bot commented Apr 10, 2024

Description

This PR refactors the Github CI for Address and Thread Sanitizers. It removes the old workflows and adds a single reusable one that defines 4 jobs:

  • asan_fastdds_build
  • asan_fastdds_test (uses the build from asan_fastdds_build)
  • asan_discovery_server_test (uses the build from asan_fastdds_build)
  • tsan_fastdds_test

Furthermore, it adds both a sanitizers-ci.yaml and nightly-sanitizers-ci.yaml so that:

  • On PR review request and once a day, all job run. For the case of PRs, they only run if there are no conflicts and the no-test and skip-ci labels are not set.
  • Manual dispatching allows for individually selecting whether to run asan_fastdds_test, asan_discovery_server_test, and tsan_fastdds_test. This way it is possible to run a subset of the jobs defined in the workflow.
  • Removes address_sanitizers.yaml
  • Removes thread_sanitizer.yaml

@Mergifyio backport 2.13.x 2.10.x 2.6.x
IMPORTANT: Remove the nightly workflows from the backports, as they will not run anyways.

Contributor Checklist

  • Commit messages follow the project guidelines.

  • N/A: The code follows the style guidelines of this project.

  • N/A: Tests that thoroughly check the new feature have been added/Regression tests checking the bug and its fix have been added; the added tests pass locally

  • N/A: Any new/modified methods have been properly documented using Doxygen.

  • N/A: Any new configuration API has an equivalent XML API (with the corresponding XSD extension)

  • N/A: Changes are ABI compatible.

  • N/A: Changes are API compatible.

  • N/A: New feature has been added to the versions.md file (if applicable).

  • N/A: New feature has been documented/Current behavior is correctly described in the documentation.

  • Applicable backports have been included in the description.

Reviewer Checklist

  • The PR has a milestone assigned.
  • The title and description correctly express the PR's purpose.
  • Check contributor checklist is correct.
  • Check CI results: changes do not issue any warning.
  • Check CI results: failing tests are unrelated with the changes.

This is an automatic backport of pull request #4662 done by [Mergify](https://mergify.com).

* Refs #20542: Add Fast DDS Sanitizer worflow with support for asan fastdds

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Add asan_discovery_server_test job

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Add tsan_fastdds_test job

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Remove colcon_meta input as max inputs for workflow_dispath is 10

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Create a reusable workflow and a CI one for PRs or manual

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Add nightly sanitizer CI for all supported branches

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Change extension to .yml

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Remove old workflows

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Run sanitizers CI on PR review request

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Exclude xfail tests in discovery server test run

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Install all python packages needed for asan_fastdds_test reporting

Signed-off-by: eduponz <[email protected]>

* Refs #20542: Apply Jesús' suggestions

Signed-off-by: eduponz <[email protected]>

---------

Signed-off-by: eduponz <[email protected]>
(cherry picked from commit ac0e737)

# Conflicts:
#	.github/workflows/address-sanitizers.yaml
#	.github/workflows/config/asan_colcon.meta
#	.github/workflows/thread-sanitizer.yaml
@mergify mergify bot added the conflicts Backport PR wich git cherry pick failed label Apr 10, 2024
Copy link
Contributor Author

mergify bot commented Apr 10, 2024

Cherry-pick of ac0e737 has failed:

On branch mergify/bp/2.10.x/pr-4662
Your branch is up to date with 'origin/2.10.x'.

You are currently cherry-picking commit ac0e737a9.
  (fix conflicts and run "git cherry-pick --continue")
  (use "git cherry-pick --skip" to skip this patch)
  (use "git cherry-pick --abort" to cancel the cherry-pick operation)

Changes to be committed:
	new file:   .github/workflows/nightly-sanitizers-ci.yml
	new file:   .github/workflows/reusable-sanitizers-ci.yml
	new file:   .github/workflows/sanitizers-ci.yml

Unmerged paths:
  (use "git add/rm <file>..." as appropriate to mark resolution)
	deleted by them: .github/workflows/address-sanitizers.yaml
	both modified:   .github/workflows/config/asan_colcon.meta
	deleted by them: .github/workflows/thread-sanitizer.yaml

To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally

@JesusPoderoso JesusPoderoso added this to the v2.10.4 milestone Apr 10, 2024
@JesusPoderoso JesusPoderoso self-requested a review April 17, 2024 13:37
@JesusPoderoso JesusPoderoso removed the conflicts Backport PR wich git cherry pick failed label Apr 17, 2024
@JesusPoderoso JesusPoderoso requested review from JesusPoderoso and removed request for JesusPoderoso April 17, 2024 13:37
@github-actions github-actions bot added the ci-pending PR which CI is running label Apr 17, 2024
@JesusPoderoso JesusPoderoso added ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. and removed ci-pending PR which CI is running labels Apr 18, 2024
Copy link
Member

@MiguelCompany MiguelCompany left a comment

Choose a reason for hiding this comment

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

The suggestions here should be applied on this PR also

.github/workflows/config/asan_colcon.meta Outdated Show resolved Hide resolved
Signed-off-by: JesusPoderoso <[email protected]>
@JesusPoderoso JesusPoderoso force-pushed the mergify/bp/2.10.x/pr-4662 branch from dceedcb to 706a7ae Compare April 18, 2024 07:06
@JesusPoderoso JesusPoderoso removed the ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. label Apr 18, 2024
@github-actions github-actions bot added the ci-pending PR which CI is running label Apr 18, 2024
@JesusPoderoso
Copy link
Contributor

As long as this PR only updates GitHub Sanitizer CI job, only corresponding CI has been run (and passed)
Ready to merge!

@JesusPoderoso JesusPoderoso added ready-to-merge Ready to be merged. CI and changes have been reviewed and approved. and removed ci-pending PR which CI is running labels Apr 18, 2024
@EduPonz EduPonz merged commit 094a85f into 2.10.x Apr 18, 2024
7 of 12 checks passed
@EduPonz EduPonz deleted the mergify/bp/2.10.x/pr-4662 branch April 18, 2024 13:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ready-to-merge Ready to be merged. CI and changes have been reviewed and approved.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants