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

ROS 2 CI not merging branches with master #621

Closed
alsora opened this issue Feb 20, 2022 · 1 comment
Closed

ROS 2 CI not merging branches with master #621

alsora opened this issue Feb 20, 2022 · 1 comment

Comments

@alsora
Copy link

alsora commented Feb 20, 2022

Hi,

When I open a PR to rclcpp there is an automatic CI job like this: https://build.ros2.org/job/Rpr__rclcpp__ubuntu_jammy_amd64/3/
The link above shows a failure due to my branch not including the changes from ros2/rclcpp#1886

How is that possible?
Isn't CI supposed to run a test build using a temporary branch where master and the PR have been merged?

@nuclearsandwich
Copy link
Member


The link above shows a failure due to my branch not including the changes from ros2/rclcpp#1886

I don't see evidence for the scenario that you describe.

Here is the log section describing Jenkins' git behavior.

08:27:10  > git config remote.origin.url https://github.com/ros2/rclcpp.git # timeout=10
08:27:10 Fetching upstream changes from https://github.com/ros2/rclcpp.git
08:27:10  > git --version # timeout=10
08:27:10  > git --version # 'git version 2.25.1'
08:27:10  > git fetch --tags --force --progress -- https://github.com/ros2/rclcpp.git +refs/pull/*:refs/remotes/origin/pr/* # timeout=10
08:27:11  > git rev-parse refs/remotes/origin/pr/1889/merge^{commit} # timeout=10
08:27:11 Merging Revision f83a2befeca9193e1eff071514737a5b539d0b3a (refs/remotes/origin/pr/1889/merge) to origin/master, UserMergeOptions{mergeRemote='origin', mergeTarget='master', mergeStrategy='DEFAULT', fastForwardMode='FF'}
08:27:11  > git rev-parse origin/master^{commit} # timeout=10
08:27:11  > git config core.sparsecheckout # timeout=10
08:27:11  > git checkout -f origin/master # timeout=10
08:27:11  > git remote # timeout=10
08:27:11  > git config --get remote.origin.url # timeout=10
08:27:11  > git merge --ff f83a2befeca9193e1eff071514737a5b539d0b3a # timeout=10
08:27:11  > git rev-parse HEAD^{commit} # timeout=10

As I read it, the pertinent error message is:

04:03:34 --- stderr: rclcpp
04:03:34 CMake Error at CMakeLists.txt:261 (ament_generate_version_header):
04:03:34   Unknown CMake command "ament_generate_version_header".
04:03:34 
04:03:34 
04:03:34 ---
04:03:34 Failed   <<< rclcpp [1.29s, exited with code 1]

And the problem is not that the changes in ros2/rclcpp#1886 are missing, it is that the function being used from ament_cmake, ament_generate_version_header, added by ament/ament_cmake#377 was not yet released at the time your CI job ran. Since Dev and PR jobs use dependencies from the testing repository rather than the development branches, the build failed, just as the dev builds of rclcpp were failing before the most recent release of ament_cmake.


As a point of information, this repository hosts the extensions to ros_buildfarm which are used to operate the https://ci.ros2.org environment whereas the PR job you linked is running straight from ros_buildfarm

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

No branches or pull requests

2 participants