Re-enable tests on Jazzy for Windows#1435
Open
minggangw wants to merge 14 commits intoRobotWebTools:developfrom
Open
Re-enable tests on Jazzy for Windows#1435minggangw wants to merge 14 commits intoRobotWebTools:developfrom
minggangw wants to merge 14 commits intoRobotWebTools:developfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Updates the Windows CI workflow to handle ROS 2 Jazzy by downloading a specific prebuilt Windows archive and adjusting the build/test steps accordingly.
Changes:
- Adds a matrix
includeentry to supply a Jazzy-specificros_binary_url. - Installs 7-Zip/wget on Jazzy jobs and downloads/extracts the Jazzy Windows binary zip.
- Gates
npm testto run only on Jazzy and switches the test environment setup call.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Comment on lines
+18
to
+25
| - rolling | ||
| include: | ||
| - ros_distribution: jazzy | ||
| ros_binary_url: https://github.com/ros2/ros2/releases/download/release-jazzy-20260128/ros2-jazzy-20260128-windows-release-amd64.zip |
Comment on lines
+66
to
+71
| - name: Test rclnodejs | ||
| if: ${{ matrix.ros_distribution == 'jazzy' }} | ||
| shell: cmd | ||
| run: | | ||
| set RMW_IMPLEMENTATION=rmw_fastrtps_cpp | ||
| call "c:\dev\${{ matrix.ros_distribution }}\ros2-windows\setup.bat" | ||
| call "c:\dev\jazzy\ros2-windows\local_setup.bat" | ||
| npm test |
| run: | | ||
| set RMW_IMPLEMENTATION=rmw_fastrtps_cpp | ||
| call "c:\dev\${{ matrix.ros_distribution }}\ros2-windows\setup.bat" | ||
| call "c:\dev\jazzy\ros2-windows\local_setup.bat" |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Separates the Windows Jazzy CI into a dedicated reusable workflow with pixi-based dependency management, while the remaining distros (Humble, Kilted, Rolling) continue using the original
setup-rosapproach. Adds targeted Windows-only test skips for six Jazzy test failures that are caused by platform-specific portability issues, not product bugs.Workflow refactoring:
.github/workflows/windows-build-and-test.yml→.github/workflows/windows-build.yml— Renamed from "Windows Build and Test" to "Windows Build (Reusable)". Removed Jazzy from the distro matrix (moved to its own workflow). Removed the test step (non-Jazzy distros are build-only on Windows)..github/workflows/windows-jazzy-build-and-test.yml(new) — Dedicated Jazzy Windows build-and-test reusable workflow. Uses pixi for native dependency management instead ofsetup-ros. Downloads the Jazzy ROS 2 release zip and pixi manifest. Prepends pixi DLL directories to PATH for runtime resolution. Runs bothnpm i(build) andnpm test(test)..github/workflows/windows-pr-test.yml— Updated to call bothwindows-build.ymlandwindows-jazzy-build-and-test.yml..github/workflows/windows-push-test.yml— Updated to call bothwindows-build.ymlandwindows-jazzy-build-and-test.yml.Targeted Windows test skips:
test/test-native-loader.js— SkipcustomFallbackLoader attempts to require exact match if existson Windows. Reason: test overridesprocess.platformtolinuxand probes Ubuntu-specific prebuild paths.test/test-rate.js— Skiprate sleep accuracy test, 1000 hz for 3 secondson Windows. Reason: Windows timer resolution (~15 ms) cannot meet the 1 kHz accuracy threshold.test/test-rosidl-message-generator.js— SkipGenerate message at runtimeon Windows (shells throughbashand sourceslocal_setup.sh, not portable). SkipTesting mrpt_msgs/msg/GraphSlamAgents from non-standard msg subfolderon Windows (mrpt_msgspackage unavailable in the Windows Jazzy environment).test/test-serialization.js— Skipstd_msgs/msg/MultiArrayDimensionserialization round-trip on Windows. Reason: inconsistent deserialization behavior on Windows for this specific message type.test/test-type-description-service.js— SkipTest type description service configured by parameterandTest start_type_description_service parameter valueon Windows. Reason: ROS CLIros2 paramcommands are brittle/hanging on Windows; main service test is unaffected.Fix: #1436