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

Use test fixtures to create SROS artifacts (backport #522) #524

Merged
merged 2 commits into from Aug 8, 2023

Conversation

mergify[bot]
Copy link

@mergify mergify bot commented Aug 8, 2023

This is an automatic backport of pull request #522 done by Mergify.


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com

@cottsay
Copy link
Member

cottsay commented Aug 8, 2023

  • Linux Build Status
  • Linux-aarch64 Build Status
  • Windows Build Status

The current implementation creates SROS artifacts during the configure
phase. This is undesirable for a variety of reasons, such as:
* The ros2 binary is invoked during build, meaning that a regression in
  that tool will break the entire CI build instead of appearing as a
  test failure.
* Some of the environment is captured during the artifact generation
  and it may not be the same when the tests are invoked. Namely,
  changes to ROS_DOMAIN_ID between build and test will break.

The test fixtures work similarly to tests themselves, and are
automatically run if any tests requiring them are enabled. If the
fixture fails, the dependent tests are not attempted.

(cherry picked from commit d98fcb9)

Signed-off-by: Scott K Logan <logans@cottsay.net>
All of these commands should be run together to set up the fixture for
the tests. When running tests with repetition, we want to run through
the entire artifact setup and not run each individual command multiple
times.

(cherry picked from commit af74e9f)

Signed-off-by: Scott K Logan <logans@cottsay.net>
@cottsay cottsay merged commit be2e039 into humble Aug 8, 2023
3 checks passed
cottsay added a commit that referenced this pull request Aug 8, 2023
The current implementation creates SROS artifacts during the configure
phase. This is undesirable for a variety of reasons, such as:
* The ros2 binary is invoked during build, meaning that a regression in
  that tool will break the entire CI build instead of appearing as a
  test failure.
* Some of the environment is captured during the artifact generation
  and it may not be the same when the tests are invoked. Namely,
  changes to ROS_DOMAIN_ID between build and test will break.

The test fixtures work similarly to tests themselves, and are
automatically run if any tests requiring them are enabled. If the
fixture fails, the dependent tests are not attempted.

(cherry picked from commit d98fcb9)

Signed-off-by: Scott K Logan <logans@cottsay.net>
@delete-merged-branch delete-merged-branch bot deleted the mergify/bp/humble/pr-522 branch August 8, 2023 19:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant