Monash-Connected-Autonomous-Vehicle / autoware

Autoware - the world's leading open-source software project for autonomous driving
https://www.autoware.org/
Apache License 2.0
1 stars 0 forks source link

Set up CI/CD pipeline #8

Open dylan-gonzalez opened 10 months ago

dylan-gonzalez commented 10 months ago

Setting up the foundation of our CI/CD pipeline

x2 people

sxppro commented 10 months ago

i'll need to look into how they're running the ci/cd pipeline as well as how we build autoware

AnthonyZhOon commented 10 months ago

We could start this off by meeting and sharing what we know about this, I'm on-campus weekdays but only have 1-2 hours until after 5pm

npnquang commented 10 months ago

I'm currently in Vietnam, so I cannot join the meeting in person, and it is 4 hours behind Australia. Other than that, I'm all good for a meeting

dylan-gonzalez commented 10 months ago

Btw can you guys prioritise figuring out how the rest of the team can write test cases for their different components?

npnquang commented 10 months ago

I found the folder storing the YAML files to run the CI/CD pipelines of Autoware. These are helpful to setup our own pipelines. In the build-main.yaml file, they run the colcon build command with some args.

dylan-gonzalez commented 10 months ago

i've assigned @Avocado-hash (Nguyen Nguyen) to this task

edit: he's working on sensing now

dylan-gonzalez commented 10 months ago

Next steps:

After that:

sxppro commented 10 months ago

Okay right now we're looking at the autoware.universe pipeline — specifically the build-and-test workflow. We are currently running into an error:

jsk_recognition_msgs: Cannot locate rosdep definition for [rostest]

that is causing the rosdeps to not be successfully installed.

Comparing our workflow run to Autoware's autoware.universe repo, they can install all the rosdeps successfully but I don't know why ours is different. We'll have to look more into this.

sxppro commented 10 months ago

Some more info we've looked at:

sxppro commented 10 months ago

We have identified the issue as jsk_recognition_msgs is a new package added by us that does not exist in the original repository.

We likely just need to install rostest as a rosdep in the pipeline (which is not currently being done by the workflow definition).

npnquang commented 10 months ago

I tried to find a way to install the rostest package that we are missing and then found this. It says that there is no version of rostest for ROS Humble. I think we need to look into why we have rostest in the first place.

sxppro commented 9 months ago

@dylan-gonzalez rostest is added as a testdepend here: https://github.com/Monash-Connected-Autonomous-Vehicle/autoware.universe/blob/cbb62d06a84e40a91036effc458408e3b55364fe/sensing/jsk_recognition_msgs/package.xml

sxppro commented 9 months ago

There's been some tests written with it: https://github.com/Monash-Connected-Autonomous-Vehicle/autoware.universe/tree/cbb62d06a84e40a91036effc458408e3b55364fe/sensing/jsk_recognition_msgs/test

dylan-gonzalez commented 9 months ago

Can you see if anyone has made an issue about it on the autoware.universe repo?

Or alternatively check this out and see if you can use g_tests instead??

dylan-gonzalez commented 9 months ago

Hey @AnthonyZhOon I'm thinking that we some repository that stores all relevant dotfiles for the MCAV PCs (and for people doing mcav stuff on their own laptops) so that we can just automatically clone that repo onto the MCAV PCs and have all the settings like bashrc, vscode extensions, etc. configured to be synced? Can we set something up like that?

dylan-gonzalez commented 9 months ago

also @AnthonyZhOon there's an autoware_lint_common package? Can someone look into that to see if we can use the linting that is already used in autoware?

sxppro commented 9 months ago

@Robin-Chea can u remember where you added these tests from in this commit or did you write them yourself? 😮 https://github.com/Monash-Connected-Autonomous-Vehicle/autoware.universe/commit/92f7bfa0e12a1cd6bfa9c2fcdd9ae111e9664f40

Robin-Chea commented 9 months ago

I dont remember :)

sxppro commented 9 months ago

I dont remember :)

surely u know whats the commit for right 😬

Robin-Chea commented 9 months ago

😬

AnthonyZhOon commented 9 months ago

Local install https://docs.astral.sh/ruff/tutorial/ Git page with docs https://github.com/astral-sh/ruff Place a ruff.toml in the top-closest relevant directory, can do multiple in the file structure

dylan-gonzalez commented 9 months ago

tomorrow night 19-12-23

@sxppro @AnthonyZhOon we'll go through some research on running headless simulations through the CI/CD pipeline