clearpathrobotics / robot_upstart

ROS package of helper functions related to bringing up roslaunch on system startup.
BSD 3-Clause "New" or "Revised" License
192 stars 94 forks source link

[CI][kinetic-devel] Update to Xenial. #79

Closed 130s closed 4 years ago

130s commented 5 years ago

On a PR https://github.com/clearpathrobotics/robot_upstart/pull/78 I saw CI failure that seems to be related to platform issue. Using trusty for xenial-based job might not work (any more?).

Unpacking python-rospkg (1.1.7-100) ...
dpkg-deb: error: archive '/var/cache/apt/archives/python-rosdep_0.15.1-1_all.deb' has premature member 'control.tar.xz' before 'control.tar.gz', giving up
dpkg: error processing archive /var/cache/apt/archives/python-rosdep_0.15.1-1_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
 No apport report written because MaxReports is reached already
 Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
 Processing triggers for shared-mime-info (1.2-0ubuntu3) ...
 Processing triggers for sgml-base (1.26+nmu4ubuntu1) ...
 Errors were encountered while processing:
  /var/cache/apt/archives/python-catkin-pkg-modules_0.4.10-1_all.deb
  /var/cache/apt/archives/python-catkin-pkg_0.4.10-100_all.deb
  /var/cache/apt/archives/python-rosdistro-modules_0.7.2-1_all.deb
  /var/cache/apt/archives/python-rosdistro_0.7.2-100_all.deb
  /var/cache/apt/archives/python-rosdep_0.15.1-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
The command "sudo apt-get install python-rosdep -y" failed and exited with 100 during .
130s commented 5 years ago

CI is working, then it might have revealed something not working on xenial. https://travis-ci.org/clearpathrobotics/robot_upstart/builds/507599754?utm_source=github_status&utm_medium=notification

======================================================================
FAIL: test_install (test_basics.TestBasics)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/travis/catkin_ws/src/robot_upstart/test/test_basics.py", line 36, in test_install
    self.assertTrue(os.path.exists(self.pjoin("etc/init/foo.conf")), "Upstart configuration file not created.")
AssertionError: Upstart configuration file not created.
-------------------- >> begin captured stdout << ---------------------
/lib/systemd/systemd
Preparing to install files to the following paths:
  /tmp/tmpU4JqwP/etc/ros/kinetic/foo.d/.installed_files
  /tmp/tmpU4JqwP/etc/systemd/system/multi-user.target.wants/foo.service
  /tmp/tmpU4JqwP/lib/systemd/system/foo.service
  /tmp/tmpU4JqwP/usr/sbin/foo-start
  /tmp/tmpU4JqwP/usr/sbin/foo-stop
Now calling: /home/travis/catkin_ws/src/robot_upstart/scripts/mutate_files
Filesystem operation succeeded.
** To complete installation please run the following command:
 sudo systemctl daemon-reload && sudo systemctl start foo
--------------------- >> end captured stdout << ----------------------
----------------------------------------------------------------------
Ran 5 tests in 0.202s
FAILED (failures=1)
-- run_tests.py: verify result "/home/travis/catkin_ws/build/test_results/robot_upstart/nosetests-test.xml"
Built target _run_tests_robot_upstart_nosetests_test
Scanning dependencies of target _run_tests_robot_upstart_nosetests
Built target _run_tests_robot_upstart_nosetests
Scanning dependencies of target _run_tests_robot_upstart
Built target _run_tests_robot_upstart
Scanning dependencies of target run_tests
Built target run_tests
The command "devel/env.sh catkin_make run_tests -j1" exited with 0.
0.03s$ catkin_test_results build
test_results/robot_upstart/nosetests-test.xml: 5 tests, 0 errors, 1 failures, 0 skipped
Summary: 6 tests, 0 errors, 1 failures, 0 skipped
The command "catkin_test_results build" exited with 1.
wxmerkt commented 5 years ago

Maybe a good time to switch to ROS Industrial CI and get a build matrix with kinetic/melodic and prerelease going?

130s commented 5 years ago

With a quick the test failure looks like something relevant to newer OS (e.g. upstart -> systemd)? Need a deeper look.

Maybe a good time to switch to ROS Industrial CI and get a build matrix with kinetic/melodic and prerelease going?

I'm fine with it (despite the fact I'm the maintainer of industrial_ci :). That might be actually helpful to find test failure like this.

130s commented 4 years ago

Ok I added another commit to experiment industrial_ci.

Also utilizing its feature to support ROS2. A jobt for ROS2 dashing failed at the following. I'm not ROS2 user yet but I assume the failed package doesn't exist in ROS2 https://travis-ci.org/clearpathrobotics/robot_upstart/jobs/588173965, so removing dashing job for now, instead of trying to address the error.

Starting function 'install_target_dependencies'
ERROR: the following packages/stacks could not have their rosdep keys resolved
to system dependencies:
robot_upstart: Cannot locate rosdep definition for [rosunit]
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Function 'install_target_dependencies' returned with code '1' after 0 min 1 sec
The command ".industrial_ci/travis.sh" exited with 1.
130s commented 4 years ago

Travis CI passed for both ROS K and M jobs. Please review maintainers @mikepurvis or other maintainers.

The test failed with the previous CI config https://github.com/clearpathrobotics/robot_upstart/pull/79#issuecomment-473718515 seems to have passed this time. So I assume there was something insufficient in the previous CI config.

https://travis-ci.org/clearpathrobotics/robot_upstart/jobs/588176432#L1109

Function 'run_target_test' returned with code '0' after 0 min 1 sec
Summary: 6 tests, 0 errors, 0 failures, 0 skipped
The command ".industrial_ci/travis.sh" exited with 0.
mikepurvis commented 4 years ago

Looks a lot cleaner, thanks!