Skip to content
This repository has been archived by the owner on Apr 12, 2024. It is now read-only.

Continuous Integration Pipeline #32

Open
1 of 3 tasks
zghera opened this issue Jan 22, 2022 · 4 comments
Open
1 of 3 tasks

Continuous Integration Pipeline #32

zghera opened this issue Jan 22, 2022 · 4 comments
Assignees
Labels
enhancement New feature or request help wanted Extra attention is needed workflow

Comments

@zghera
Copy link
Member

zghera commented Jan 22, 2022

Description

Create a CI pipeline to ensure ASS builds with new PRs and Pushes.

Sub-tasks

  • Find documentation on ROS CI actions
  • Successfully build current project via the CI
  • Optimize the parameters so that CI build doesn't take too much time

Other Useful Information

Once Successfully implemented, should look into other types CI, including, but not limited to:

  • Format checkers
  • Documentation checkers
  • Running tests
@alanssitis alanssitis self-assigned this Jan 22, 2022
@alanssitis alanssitis added enhancement New feature or request workflow labels Jan 22, 2022
@zghera zghera added this to To do in Optimizations Jan 23, 2022
@alanssitis
Copy link
Contributor

[Updated Issue description]
List of documentation that I've found helpful:

Have been able to create an action attempting to build ROS, here's the link of an action executing in my fork: https://github.com/alanssitis/AMP_ASSv1/runs/4971991693?check_suite_focus=true

Issues that need to be worked on:

  • Not building due to the action not being able to call catkin_make, not sure but feeling strongly that this is the reason why it's failing according to terminal output.
  • Typo in action-ros, fixing this might fix the above issue.

This that should be looked at:

  • Creating a launch file that runs the simulation that has very strict parameters and has expected set behavior in order to run a test in the CI

@zghera
Copy link
Member Author

zghera commented Jan 27, 2022

Nice work so far!! A few things:

[Updated Issue description]

Feel free to add these links and any other details you think are important to the top-level issue description. Ideally, I think this should contain all the critical info for people to reference if they come back to look at an issue. The comments below simply serve as a sort of timeline of progress made and discussion.

Creating a launch file that runs the simulation that has very strict parameters and has expected set behavior in order to run a test in the CI

For this, what do you mean by having "expected set behavior"? Do you need it to output something to stdout so you can check if things look like what you expect? What are your requirements for this more specifically?

@zghera zghera moved this from To do to In progress in Optimizations Jan 29, 2022
@alanssitis alanssitis added the help wanted Extra attention is needed label Feb 6, 2022
@alanssitis alanssitis mentioned this issue Feb 7, 2022
3 tasks
@alanssitis
Copy link
Contributor

alanssitis commented Feb 7, 2022

Looks like our current ROS version cannot be "directly" tested as is due to Ubuntu 16.04 not having any available runners. There are two possibilities:

  • Update to newer version of ROS (Noetic)
  • Have a workaround by running and testing a Docker image of the repo

I personally would prefer upgrading the ROS distro since the alternative can have issues and overlap with other possible tests and can make it harder to test the behavior we want appropriately. Also, given how much work we plan on doing, it might be worth upgrading right now in order to have the ability to use Python3 for other projects. This is a very good upside given that Python2 is not supported any more and most documentation and ROS packages are for Python3.

@zghera
Copy link
Member Author

zghera commented Feb 7, 2022

Okay, let's move this conversation over to #26 then.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
enhancement New feature or request help wanted Extra attention is needed workflow
Projects
Optimizations
In progress
Development

No branches or pull requests

2 participants