Skip to content
This repository has been archived by the owner on Jun 8, 2023. It is now read-only.

Add ament_cmake into build system #561

Closed
maximosipov opened this issue Feb 17, 2019 · 9 comments
Closed

Add ament_cmake into build system #561

maximosipov opened this issue Feb 17, 2019 · 9 comments

Comments

@maximosipov
Copy link

maximosipov commented Feb 17, 2019

New Feature

In order to transition to ROS2 it is necessary to convert build system to ament_cmake and update packages according to Migration Guide.

There are several build processes in Autoware to update and test:

In addition, currently using ament_cmake requires using ament_ from ROS2 distribution which is not a recommended practice, see Discourse Topic, however it demonstrated to work.

Started work on https://github.com/maximosipov/autoware/tree/feature/ament_ci_and_docker

@gbiggs
Copy link

gbiggs commented Feb 18, 2019

Is using Gitlab CI for a Github project a good idea? What benefits does Gitlab CI give us over Travis CI or another agnostic tool like CircleCI?

@maximosipov
Copy link
Author

@gbiggs Gitlab CI was introduced by autowarefoundation/autoware#1563, I think it make sense to use just one framework, whatever the choice is, and the current support for Gitlab CI is definitely more flexible.

@sgermanserrano
Copy link

sgermanserrano commented Feb 18, 2019

@gbiggs Gitlab Ci was introduced as a replacement for Travis CI to overcome the problems that Travis CI had to run the unit tests. Also as a way to bring .Auto and .AI closer.

Nevertheless each tool has its own benefits and defects, Gitlab CI cannot pick up PRs from branches in forks of Autoware, hence only the Travis CI checks appear in the PR. On the positive it is free for Open-Source projects and the time limit can be manually changed so that Autoware builds do not time out.

@esteve
Copy link
Contributor

esteve commented Feb 18, 2019

@gbiggs like @sgermanserrano said, we wanted to bring the two projects closer and as a first step we decided to use GitLab, also we were having lots of issues with Travis, so we needed to switch to something else anyway.

Like CircleCI, GitLab runners can be hosted on premises, however and although we'll initially only support Linux, GitLab supports macOS and Windows as well (e.g. @maximosipov reported a bug in Authoware.Auto when building on macOS, so we want to support that too)

I personally like Azure Pipelines a lot, but in order to keep the infrastructure consolidated, we went with GitLab.

@gbiggs
Copy link

gbiggs commented Feb 19, 2019

Yeah, I'm a fan of Azure Pipelines, too.

Thanks for the explanations! No one's been able to tell me for four weeks. 😆

@esteve
Copy link
Contributor

esteve commented Feb 19, 2019

@gbiggs sorry about that, we should have a document explaining this sort of decisions. Moreover, we'll also have to look into consolidating the CI scripts as well, right now we use https://github.com/ros-industrial/industrial_ci, and custom scripts in GitLab and Travis. industrial_ci is a great solution, however it doesn't support colcon nor ROS2 yet, so we'll have to either contribute it upstream or keep using our scripts. I'd rather push upstream as much as possible, instead maintaining our own stuff, but I don't have an estimate of how much work it'd require to support colcon in industrial_ci.

@130s
Copy link

130s commented Feb 19, 2019

Thanks for the mention for industrial_ci (I'm one of the maintainers). ROS2/Colcon support is discussed in ros-industrial/industrial_ci#333 without specific goal, probably because of the lack of concrete drive. If you could voice up there that could help someone to pick up the pieces :)

@gbiggs
Copy link

gbiggs commented Feb 19, 2019

I'm all in favour of pushing anything we can upstream. It's good for the community, and it means less for us to maintain all by ourselves.

@esteve
Copy link
Contributor

esteve commented Feb 20, 2019

@130s thanks for dropping by. I followed that ticket a bit, and the consensus seemed that industrial_ci would be rewritten in Python first before adding support for colcon. Anyway, I've responded there to get the ball rolling.

@gbiggs gbiggs closed this as completed May 29, 2020
@mitsudome-r mitsudome-r transferred this issue from autowarefoundation/autoware Mar 14, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants