micro-ROS / micro_ros_setup

Support macros for building micro-ROS-based firmware.
Apache License 2.0
336 stars 128 forks source link

Changes to do the following: #690

Closed drensber closed 3 months ago

drensber commented 3 months ago
pablogs9 commented 3 months ago

Would you mind to update also https://github.com/micro-ROS/micro_ros_zephyr_module to 3.6?

pablogs9 commented 3 months ago

CI is failing fro Zephyr

drensber commented 3 months ago

CI is failing fro Zephyr

I think this is just because you requested changes... It looks to me like all of the automated CI passed, no?

pablogs9 commented 3 months ago

No https://github.com/micro-ROS/micro_ros_setup/actions/runs/8239753062/job/22546953150?pr=690

drensber commented 3 months ago

No https://github.com/micro-ROS/micro_ros_setup/actions/runs/8239753062/job/22546953150?pr=690

Oh, sorry, I didn't see that there was a scrollbar in the GitHub "Some checks were not successful" window. ;)

drensber commented 3 months ago

Is there a way to see exactly what part of a CI check failed?

The first one ends with:

Could not determine ref type of version: fatal: unable to access 'https://github.com/micro-ros/freertos_apps/': Could not resolve host: github.com

I have to assume that was just a transient network issue.

The others have logs that are so long that you have to download them to see the end, and at the end they look fine (as far as I can tell, anyway... it appears that they successfully built their image).

pablogs9 commented 3 months ago

It seems that installing host tools failed: https://productionresultssa2.blob.core.windows.net/actions-results/a1779061-dac5-4f1d-af6f-dc2b1f527ea6/workflow-job-run-fceeb432-9719-5700-0c51-e887f4ac21da/logs/job/job-logs.txt?rsct=text%2Fplain&se=2024-03-13T16%3A22%3A52Z&sig=UUjF6yn%2F%2FoXzcdXHbEPaR1lminKPfe7dD73%2F85Ls7Pw%3D&sp=r&spr=https&sr=b&st=2024-03-13T16%3A12%3A47Z&sv=2021-12-02

You can click on full log on the failed CI jobs

drensber commented 3 months ago

It seems that installing host tools failed: https://productionresultssa2.blob.core.windows.net/actions-results/a1779061-dac5-4f1d-af6f-dc2b1f527ea6/workflow-job-run-fceeb432-9719-5700-0c51-e887f4ac21da/logs/job/job-logs.txt?rsct=text%2Fplain&se=2024-03-13T16%3A22%3A52Z&sig=UUjF6yn%2F%2FoXzcdXHbEPaR1lminKPfe7dD73%2F85Ls7Pw%3D&sp=r&spr=https&sr=b&st=2024-03-13T16%3A12%3A47Z&sv=2021-12-02

You can click on full log on the failed CI jobs

Do you believe that the authentication problem is somehow related to the code changes?

pablogs9 commented 3 months ago

It shall be because nightly CI is ok

drensber commented 3 months ago

It shall be because nightly CI is ok

Is there any way to force CI to run again? It could obviously be an intermittent outage (this CI wasn't run at the same time as your nightlies), and I can't really think of any other reason that would cause "Could not resolve host: github.com".

pablogs9 commented 3 months ago

Retriggered

drensber commented 3 months ago

Retriggered

THanks. One of the failures went away as I expected, so I'll assume that was just a transient connectivity outage. The others happened again, so I'll have to take a deeper look.

pablogs9 commented 3 months ago

In any case, the recommended way of using Zephyr + micro-ROS is the Zephyr component: https://github.com/micro-ROS/micro_ros_zephyr_module

drensber commented 3 months ago

In any case, the recommended way of using Zephyr + micro-ROS is the Zephyr component: https://github.com/micro-ROS/micro_ros_zephyr_module

OK, I'll give the zephyr module a try. I don't think we even knew about it. It's not even mentioned in the tutorials on micro.ros.org as far as I can see.

drensber commented 3 months ago

In any case, the recommended way of using Zephyr + micro-ROS is the Zephyr component: https://github.com/micro-ROS/micro_ros_zephyr_module

Pablo, could you provide a little more information about how the module is supposed to be installed and used? There are lots of different ways to use west to build zephyr. I personally think that for things like this it is most convenient to provide users with instructions for building "out of tree" so that they can try things out without messing up any existing build tree that they have. If the module is intended to be incorporated into an existing tree, I think the README should at least provide pointers to how to set up such a build tree and how to pull in the module.

I'm brushing up on Zephyr modules a little bit, but as far as I can tell, this repository doesn't conform to the definition of a module repository (which should contain a top-level directory called "zephyr" that contains a file called "module.yml"): https://docs.zephyrproject.org/latest/develop/modules.html

I'm sure I could futz around and copy various files into various places and get it to build, but I think the README should really explain how to do this (or at least provide pointers to Zephyr documentation that explains what to do).

drensber commented 3 months ago

It seems that installing host tools failed: https://productionresultssa2.blob.core.windows.net/actions-results/a1779061-dac5-4f1d-af6f-dc2b1f527ea6/workflow-job-run-fceeb432-9719-5700-0c51-e887f4ac21da/logs/job/job-logs.txt?rsct=text%2Fplain&se=2024-03-13T16%3A22%3A52Z&sig=UUjF6yn%2F%2FoXzcdXHbEPaR1lminKPfe7dD73%2F85Ls7Pw%3D&sp=r&spr=https&sr=b&st=2024-03-13T16%3A12%3A47Z&sv=2021-12-02

You can click on full log on the failed CI jobs

The reason that 5 of the CI jobs are failing is:

2024-03-13T20:43:17.0170651Z Zephyr SDK 0.16.3 Setup
2024-03-13T20:43:17.0171007Z 
2024-03-13T20:43:17.0213832Z Installing host tools ...
2024-03-13T20:43:20.8686738Z ERROR: Host tools installation failed
2024-03-13T20:43:20.8694405Z [ros2run]: Process exited with failure 30
2024-03-13T20:43:21.1664014Z ##[error]Process completed with exit code 30.

I suspect that some of the dependencies are different for SDK 0.16.3 than they were for 0.12.4. Is there any way I can see the Dockerfile that's being used for the CI build container?

pablogs9 commented 3 months ago

https://github.com/micro-ROS/micro_ros_setup/blob/f3f222d847dfe500ace1b85254d763b8718edb16/.github/workflows/ci.yml#L102-L103

drensber commented 3 months ago

I tried updating the SDK to 0.16.5 just to see if that makes any difference in the host tools installation issue. Probably not, but the limited logging isn't giving me much to work with, so it seemed worth a try.

drensber commented 3 months ago

Are we able to rerun CI? I don't really know of any other way to debug this, since there isn't much information provided about why the host tool install is failing, and I can't reproduce this problem in my own environment.

pablogs9 commented 3 months ago

Reruned

drensber commented 3 months ago

I am not able to get micro_ros_zephyr_module to build. I think that it's intended to be built as what the Zephyr documentation calls a "freestanding app" (which is different from a true "module", which is why I was confused). Either way, I get lots of errors when I even try to build it with the version 2.7 that you support. https://docs.zephyrproject.org/latest/develop/application/index.html

drensber commented 3 months ago

Are you able to consider these changes independently of whatever changes might be required in micro_ros_zephyr_module? We don't use micro_ros_zephyr_module to build microROS under Zephyr.

pablogs9 commented 3 months ago

I need to not break the CI to consider this

drensber commented 3 months ago

I'm going to close this PR. I already have a set of patches that allows me to build microROS with Zephyr 3.6. The issues with translating this into a PR are related to the CI process (which I can't replicate) and with micro_ros_zephyr_module (which I can't build at all... even with the versions of Zephyr and SDK that are supposed to be supported). I'd be happy to help in any way that I can, but I think it would be easier for the microROS maintainers to handle these integration issues that aren't really directly related to the Zephyr 3.6 upgrade.