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

ROS 2 Crystal Clemmys Patch Release 1 #638

Closed
clalancette opened this Issue Jan 3, 2019 · 17 comments

Comments

Projects
None yet
5 participants
@clalancette
Copy link
Contributor

clalancette commented Jan 3, 2019

This is a meta-issue to track the changes that are going into the first patch release for Crystal Clemmys after the initial release (#529). @ros2/team , please add PRs that are going onto the Crystal branches to this ticket for tracking. @nuclearsandwich FYI.

PRs merged for Crystal Patch Release 1:

Upgrade to Uncrustify 0.68.1
Guard against bad allocation in rcl
Skip system directories when looking for OGRE
Handle FindEigen3 module's differing definitions
Fix segfault when string parameters contain non-ASCII characters
Add generate_permissions verb to sros2
Pass include paths through ament_cppcheck
Upgrade to support OpenCV 4

PRS deferred from Patch Release 1 (may be released in Patch Release 2)

Logging to rosout
Improve service_is_available logic to guard against client waiting forever

All merged PRs that will be released
@dirk-thomas

This comment has been minimized.

Copy link
Member

dirk-thomas commented Jan 7, 2019

I would propose to separate PRs which actually fix bugs and should go into the patch release from the ones which we might sneak in since it just makes life easier - at least visually. Only the first group is basically the reason why we do patch releases. Especially in the rmw_connext and rmw_fastrtps repos almost all except one per repo seem to be of the later category.

Also the rosout related changes are introducing a new feature. In general we only aim to release those into future distros. Otherwise it would require extensive testing to ensure it does neither change or break any existing behavior. I am not saying we can't make an exception but just want to state that this is the general policy in all ROS distros and we should have a good reason to diverge from that.

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 7, 2019

I would propose to separate PRs which actually fix bugs and should go into the patch release from the ones which we might sneak in since it just makes life easier

It seems that we want two different things from this list. It sounds like you want the list of PRs which justify the patch release which serve as a draft "release notes/highlights". Whereas I want a list of every change that would be released in the next sync on the coattails of the PRs from the short list so that they can be reviewed for potentially breaking changes. I'll see about hiding these "coattail riders" behind a <details> tag once I finish the complete list.

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 8, 2019

I split out the main body PR. I haven't yet made an explicit list of coattail riders, but it's everything in the last list that isn't mentioned in the first.

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 12, 2019

Releases still need to be made for

  • ament/ament_lint
  • ros2/demos
  • ros2/sros2
  • ros2/rviz

Other repositories have been released with their desired changes from the list of merged PRs summarized by feature/fix and the PRs which rode their coattails into this release. Except to fix major issues, repositories which have been tagged for this patch release will not be re-released until the next patch that has a desired change for that repository.

@wjwwood

This comment has been minimized.

Copy link
Member

wjwwood commented Jan 15, 2019

Here's the ros2/rviz release: ros/rosdistro#19943

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 16, 2019

Packages are in the testing repository for Ubuntu and #646 contains a repos file of the prospective patch release for people to try.

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 16, 2019

Copying @jacobperron's comment from #646 (comment)

Maybe it was overlooked, but there were a couple fixes added to rmw_fastrtps (at least one listed in the description #638) that are not present in the patch release. If the ship has sailed, I think it's okay if they wait for the next patch release/sync.

I did indeed miss that since I'd already done the rmw-layer releases and there's no notification for edits. I think it's best if that waits for the next patch release since it would require a pretty big rebuild to release now. To protect against this in the future I'll update the template for Patch Release 2 to include announcing edits via comment when necessary.

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 16, 2019

I've updated the list in the main body to note the PRs which missed my release cut-off. Which can be included in a future Crystal patch release, although I haven't yet audited the rmw_fastrtps changes for Crystal compatibility so that repo requires some investigation.

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 17, 2019

Packaging jobs:

Ubuntu Bionic AMD64 Build Status
Ubuntu Bionic ARM64 Build Status
Ubuntu Xenial AMD64 Build Status
Ubuntu Xenial ARM64 Build Status
macOS Build Status
Windows Release Build Status
Windows Debug Build Status

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 18, 2019

Thanks everyone who contributed to the patch release!

@paulbovbel

This comment has been minimized.

Copy link

paulbovbel commented Jan 22, 2019

I've noticed that Crystal patch 1 will not build from source on xenial, due to python3-lark-parser (rosidl_parser dependency) not existing in the packages.ros.org apt repo for xenial. Is xenial [s] still a supported platform for the patch 1 release?

@dirk-thomas

This comment has been minimized.

Copy link
Member

dirk-thomas commented Jan 22, 2019

Is xenial [s] still a supported platform for the patch 1 release?

Yes, it is. The supported platforms do not change for an already released distribution.

I've noticed that Crystal patch 1 will not build from source on xenial, due to the missing python3-lark-parser dependency of rosidl_parser.

That shouldn't be any different than the original release. On Xenial you will just need to install the Python package using pip since we didn't create a Debian package for Xenial (see the install instructions).

@paulbovbel

This comment has been minimized.

Copy link

paulbovbel commented Jan 22, 2019

That's unfortunate. Since it's the only build/run dependency that's not packaged as a deb in xenial, would you consider adding a debian package for it?

@dirk-thomas

This comment has been minimized.

Copy link
Member

dirk-thomas commented Jan 22, 2019

We don't see a need for it. What is the problem with installing the package via pip?

@paulbovbel

This comment has been minimized.

Copy link

paulbovbel commented Jan 22, 2019

We're generating debian packages of ROS2 (bionic) for xenial, and we mirror dependencies from packages.ros.org.

@dirk-thomas

This comment has been minimized.

Copy link
Member

dirk-thomas commented Jan 22, 2019

Ok, I will make sure we generate one.

@nuclearsandwich

This comment has been minimized.

Copy link
Member

nuclearsandwich commented Jan 23, 2019

With thanks to @j-rivero the python3-lark-parser package has been released for Xenial and is hosted on the ROS 2 repositories.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment