Skip to content

Adding windows github action #485

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

Merged
merged 12 commits into from
Jun 3, 2025
Merged

Conversation

knmcguire
Copy link
Contributor

@knmcguire knmcguire commented May 25, 2025

This PR adds a GitHub action which:

  • Installs ROS2 windows binary with new pixi installation
  • Builds the current ros2_rust with added modules with visual studio 2022 (with action msvc-dev-cmd)
  • Runs minimal examples and cargo test

This is for windows-server 2022 (currently latest) and ROS2 rolling nightly binaries

I would wait a bit more before adding instructions for the windows install as there are more changing upcoming for the installation instructions, but luckily it wasn't much. I tried to add those extra steps in 'Get prebuild ROS files and unzip' and 'Build the rust package'. Also currently, the binaries of windows ROS2 install are hardcoded that they need to be installed in C:\pixi_ws but that will soon change as well (see this issue)

Fixes #110

@knmcguire
Copy link
Contributor Author

knmcguire commented May 25, 2025

hmm... I see that something happened with the backtrace. that was the isssue why I had to update the rust version but it is supposed to work on 1.75? the windows action builds but that is because it updates it to 1.83 (but that's not the version in the original pixi.toml)

@esteve
Copy link
Collaborator

esteve commented May 28, 2025

@knmcguire yeah, that's the issue we had with backtrace and that we could fix with committing Cargo.lock to fix the version of the depdencies. I'll look into that so that we can run this CI again. Thanks for working on this, it looks great!

@esteve
Copy link
Collaborator

esteve commented May 28, 2025

@knmcguire can you rebase on top of #486 and see if it works? Thanks.

@knmcguire
Copy link
Contributor Author

Thanks! I'll do a test on my own separate branch first with the rebase on the fix and report back :) if so then I can remove the rust update line off 'Install ros2_rust prerequisites ' of this PR

@knmcguire
Copy link
Contributor Author

Yeah! It seems it did! https://github.com/knmcguire/ros2_rust/actions/runs/15373655141/job/43255996645. I copied this branch to a temp and rebased it on your fix, removing the update rust line, and with the fix it now builds without issue with almost the full original pixi.toml (for libclang exception then ;) )

I'll wait for you to merge #486 and then I'll rebase this branch on top of that.

@esteve
Copy link
Collaborator

esteve commented Jun 1, 2025

@knmcguire #486 is now merged, can you rebase this PR? Thanks

@knmcguire
Copy link
Contributor Author

Done!

At least there is one more CI that succeeds now? it seems that those that fails is mostly due to a networking issue so can't be sure. We can rerun it tomorrow (maybe there is a ratelimiter)

At least the windows CI works now with the older version of rust

@knmcguire
Copy link
Contributor Author

knmcguire commented Jun 2, 2025

Digged into it deeper and trying out a test PR on my fork (knmcguire#3)

  • The Rust Stable test for humble seemed to be a connection error and a bit volatile when and when it doesn't work (both the stable and minimal test of humble are like that, since they both pass on my test pr)
  • Both the Rust Minimal and Rust Stable for Rolling seems to be due to unsigned repos which probably needs to be digged into a bit, but maybe as a separate issue? (I might know of a fix for it)

For the ROS windows testing, I don't use ROS tooling at all since it uses the windows compiled binary files, and that seems to be pretty consistent so far

@knmcguire
Copy link
Contributor Author

@esteve could you rerun the CI again? I think that the ros2 tooling issues has resolved (mostly) now as it now all builds on my test pr on my own fork.

Copy link
Collaborator

@maspe36 maspe36 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Stepping in for Esteve here, LGTM! Thanks for your contribution

@maspe36 maspe36 merged commit 205b84b into ros2-rust:main Jun 3, 2025
7 of 10 checks passed
@esteve
Copy link
Collaborator

esteve commented Jun 5, 2025

@knmcguire thanks for all the work and thanks @maspe36 for stepping in. So cool to have a Windows CI job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add Windows CI jobs
3 participants