-
Notifications
You must be signed in to change notification settings - Fork 9
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
GitHub actions for kinetic, melodic, and noetic #9
base: master
Are you sure you want to change the base?
Conversation
More python 3 fixes, also newline
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left mostly minor comment except the one question about whether the assert
statements still fail or not
.github/workflows/ubuntu_16.04.yml
Outdated
|
||
jobs: | ||
build: | ||
# TODO(lucasw) if no changes with 18.04 run in an action matrix |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Probably could make use of more actions and actions features but I like the straight forward style and mostly being able to cut and paste straight out of the yaml into a terminal to duplicate. Could revisit that in the future.
I agree with your comment above but seeing the following tiny diff makes me wonder if there is a good way to remove
$ diff .github/workflows/ubuntu_16.04.yml .github/workflows/ubuntu_18_04.yml
1c1
< name: Kinetic ROS CI
---
> name: Melodic ROS CI
7,8c7
< # TODO(lucasw) if no changes with 18.04 run in an action matrix
< runs-on: ubuntu-16.04
---
> runs-on: ubuntu-18.04
12c11
< ROS_DISTRO: kinetic
---
> ROS_DISTRO: melodic
NIT: if you decide not to consolidate the two files, I suggest removing this comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll try out the matrix and combine the files.
I'm not sure how long apt-get for anything in 16.04 can be expected to work (or is it just no updates, the ROS and Canonical repos will serve the final releases for years?), or maybe 18.04 will get updates that break 16.04 for just the action here- but we can deal with that when the time comes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
18.04 and 16.04 combined easily, combining with noetic
build probably wouldn't be too bad, python-is-python3
plus an action if
block around the differing apt installs should do it, but that could be a follow on PR also.
.github/workflows/ubuntu_20_04.yml
Outdated
- name: Setup for ROS install | ||
run: | | ||
sudo sh -c "echo \"deb http://packages.ros.org/ros/ubuntu $ROS_CI_DESKTOP main\" > /etc/apt/sources.list.d/ros-latest.list" | ||
# this breaks catkin |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this comment and the next line I vote for keeping it as-is.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I haven't tested that recently and maybe it is no longer relevant, I think it was from a time when a dependency hadn't yet been released into noetic but was in ros-testing, but then ros-testing wasn't working either.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ended up removing it
Try running lifecycle_test.launch (after adding a needed node to it) - works but doesn't result in a non-zero exit code if it does fail (see ros/ros_comm#2082). Turn it into a rostest in separate PR.
Thanks @lucasw for addressing my comments & clarifying my questions.
I don't mind having things this way. Although this is dependent on #4 as @lucasw mentioned above, this PR looks good to me as well. cc @iluetkeb |
Including the Python 3 stuff here is fine for me. Otherwise, I think if having shell statements instead of actions is easer, I'm all for adding basic CI at all now and improving later. |
…changing into catkin_ws dir Get rid of sourcing of setup.bash, the next run block does it
Resolves #8
Could add in 16.04 support if desired.
Had to base this on the 20.04 python3 fixes from #4 to make the noetic build work- could disable the 20.04 action here now then re-introduce after that PR is merged.
Two lifecycle imports are getting run, other than building that is the only test.
This test is getting called manually and working:
Making it into a regular rostest ought to be in another PR so when it fails CI fails also.
Probably could make use of more actions and actions features but I like the straight forward style and mostly being able to cut and paste straight out of the yaml into a terminal to duplicate. Could revisit that in the future.