-
Notifications
You must be signed in to change notification settings - Fork 248
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
[Foxy] rosbag2_storage_mcap: merge into rosbag2 repo (backport #1163) #1198
Conversation
ab1b834
to
938ab45
Compare
@james-rms API-ABI comatibility check fails with error message
|
As I understand it the This seems really odd to me that this is not an issue on rolling or humble - is this something about the version of the ABI checker being used here vs. anywhere else? |
As regards to the " is this something about the version of the ABI checker being used here vs. anywhere else?" |
3cceea9
to
bb7511c
Compare
We could always turn if off for this branch. The unpleasant thing is that this didn't catch the incoming change being a problem. Only once the initial bad version was in, does it fail to compare it to a new version. There's no REP-2004 quality declaration promising ABI compatibility for this package |
But we do our very best to maintain ABI compatibility on all ROS 2 core packages (of which this is one). That was the whole reason for the foxy-future branch in this repository. I don't think we should go back on that promise now. |
@clalancette I'm mostly just lobbying for not letting difficult tooling get in the way. The way I understand it, no matter what happens now, we are going to have to override the ABI checker to get a new change in because it accepted a new thing that now it is not able to compare as "the old thing". Do you have a pointer to a way to run the ABI checker locally? I remember going through this exercise once, but I can't find it, maybe it's in my old work email or some old github issue about zstd - I'm having a hard time finding it. |
These are the instructions I've always followed locally: https://lvc.github.io/abi-compliance-checker/ |
I managed to get the ABI checker to not choke over here: #1207 My proposal is:
|
Thinking harder about this - Can we get more granular with the set of packages we plan to mark with REP-2004 QL 1 declarations? IMO it'd make sense to exclude |
That plan seems fine to me - except I don't think we actually have to disable the checker. We can inspect the given build, say "everything is fine except for the issue with the vendor package in the ABI checker", then merge regardless of what that check says. Followup checks should then look good, which we can verify with a sample PR to the branch. |
I guess we can do that, though it makes things hard to explain to users. That is, up until about 2 years ago, we just had a blanket "no ABI changes in the core to stable distributions". This is an easy thing to explain (though not always to achieve), and was something users could depend on. In the meantime, we've had various third-party components that want to carve out exceptions to this, so now the statement is "no ABI changes in the core to stable distributions, except for these certain parts of Fast-DDS, and these certain parts of CycloneDDS, and these certain parts of rosbag2, etc". I don't think this is a good situation to be in; it means that effectively users can't depend on that promise at all, because it is hard for them to detect ABI changes. So I would really like to not expand that list, particularly in an old distribution like Foxy. |
@james-rms As regards to your plan suggestion.
|
OK, I have a few options we can choose from here:
I would choose 1) to make incremental builds slightly faster, or 2) if we want to prioritize having no caveats around ABI stability. 3) represents some significant work and also risk that we're committing to an ABI which doesn't work for future needs. |
… (#1189) * [backport] rosbag2_storage_mcap: merge into rosbag2 repo (#1163) * rosbag2_storage_mcap: merge into ros2/rosbag2 Signed-off-by: James Smith <james@foxglove.dev> mcap_storage: 'none' is a valid storage preset profile (#86) Signed-off-by: James Smith <james@foxglove.dev> bloom: add changelog changes 0.6.0 * ci: include rosbag2_storage_mcap Signed-off-by: James Smith <james@foxglove.dev> * package.xml: include ROS Tooling WG maintainers Signed-off-by: James Smith <james@foxglove.dev> * rosbag2_storage_mcap: update readme after move Signed-off-by: James Smith <james@foxglove.dev> Signed-off-by: James Smith <james@foxglove.dev> * zstd_vendor: do not remove zstd_errors.h Signed-off-by: James Smith <james@foxglove.dev> Signed-off-by: James Smith <james@foxglove.dev> (cherry picked from commit 953c8ed) Signed-off-by: James Smith <james@foxglove.dev>
Signed-off-by: James Smith <james@foxglove.dev>
This avoids git lfs quota issues Signed-off-by: Michael Carroll <michael@openrobotics.org> Signed-off-by: Michael Carroll <michael@openrobotics.org>
Signed-off-by: James Smith <james@foxglove.dev> move
bb7511c
to
b958fc6
Compare
Gist: https://gist.githubusercontent.com/MichaelOrlov/40bf0a50befa470e2b9c0f76c35f45c4/raw/ae1e612b7a6a463c0f379d0af9cb2692ed17e055/ros2.repos |
Try to re-run CI with "focal" |
Try to re-run CI with "focal" replacing |
@clalancette @emersonknapp If you don't mind I will merge this PR to Foxy branch since Foxy end of life is pretty soon and I would like to wrap up all activities and staled PRs related to it.
I don't know how to disable |
This plan sounds fine to me. Since the checker issue is a false positive, I think it's OK to skip it |
To be clear, Windows build is not broken elsewhere on Foxy, so something must be going on here. |
Please don't merge things with red CI, particularly into stable distributions. If this really is a flake, then we should re-run the job. Otherwise, we may just be making things difficult for downstream users. |
(as for instance, ros2/message_filters#81 (comment) was run in the last week and built) |
@clalancette Sorry... I will revert it. |
@clalancette I created reverting PR #1347 |
@james-rms @emersonknapp Need your help with RCA for failing https://ci.ros2.org/job/ci_windows/19528/testReport/junit/rosbag2_storage_mcap/test_message_definition_cache/can_resolve_msg_with_idl_deps/ test on Windows. |
Preliminary analysis for test failure.
In particular, on the Windows platform message generator messed up with the input file name It looks like this is an underlying issue in the message generator code on Foxy
And on rolling is
On Foxy missing as_posix() method call for
This missing as_posix() was introduced in ros2/rosidl#576 |
Quick update: @clalancette How would you prefer to proceed? Revert this PR with I honestly would prefer to try to make a small fix in |
I understand preferring the small patch (that is usually my instinct too) - but generally the practice is to revert any erroneously-merged PRs immediately, as the patch still may require review revisions. |
@emersonknapp Ok, then please review/approve the reverting PR #1347. |
Oh, the re-run wasn't red. It was yellow, though. I didn't read through that carefully enough. @clalancette thoughts - should we still revert, or just fix the failing tests and move on? |
@clalancette @emersonknapp I created PR ros2/rosidl#745 with fix anyway. |
This is an automatic backport of pull request #1189 done by Mergify.
Cherry-pick of 953c8ed has failed:
To fix up this pull request, you can check it out locally. See documentation: https://docs.github.com/en/github/collaborating-with-pull-requests/reviewing-changes-in-pull-requests/checking-out-pull-requests-locally
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>
branchAdditionally, on Mergify dashboard you can:
Finally, you can contact us on https://mergify.com