-
Notifications
You must be signed in to change notification settings - Fork 79
Include all LTS ROS2 on develop branch #1151
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
Changes from 10 commits
c41eedd
78e7cd4
be8c395
5038393
1848586
8df7187
03c2ab1
04b8940
7e2b843
3889eef
80314a4
8156bcd
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,75 @@ | ||
| name: Linux arm64 | ||
|
|
||
| on: | ||
| push: | ||
| branches: | ||
| - develop | ||
| - kilted | ||
| - jazzy | ||
| - humble-hawksbill | ||
| pull_request: | ||
| branches: | ||
| - develop | ||
| - kilted | ||
| - jazzy | ||
| - humble-hawksbill | ||
| workflow_dispatch: | ||
|
|
||
| defaults: | ||
| run: | ||
| shell: bash | ||
|
|
||
| jobs: | ||
| build: | ||
| runs-on: ubuntu-24.04-arm | ||
| container: | ||
| image: ${{ matrix.docker_image }} | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| node-version: [22.X] | ||
| architecture: [arm64] | ||
| ros_distribution: | ||
| - humble | ||
| - jazzy | ||
| - kilted | ||
| - rolling | ||
| include: | ||
| # Humble Hawksbill (May 2022 - May 2027) | ||
| - docker_image: ubuntu:jammy | ||
| ros_distribution: humble | ||
| # Jazzy Jalisco (May 2024 - May 2029) | ||
| - docker_image: ubuntu:noble | ||
| ros_distribution: jazzy | ||
| # Kilted Kaiju (May 2025 - Dec 2026) | ||
| - docker_image: ubuntu:noble | ||
| ros_distribution: kilted | ||
| # Rolling Ridley (No End-Of-Life) | ||
| - docker_image: ubuntu:noble | ||
| ros_distribution: rolling | ||
| steps: | ||
| - name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }} | ||
| uses: actions/setup-node@v4 | ||
| with: | ||
| node-version: ${{ matrix.node-version }} | ||
| architecture: ${{ matrix.architecture }} | ||
|
|
||
| - name: Setup ROS2 | ||
| uses: ros-tooling/[email protected] | ||
| with: | ||
| required-ros-distributions: ${{ matrix.ros_distribution }} | ||
|
|
||
| - name: Install test-msgs on Linux | ||
| run: | | ||
| sudo apt install ros-${{ matrix.ros_distribution }}-test-msgs | ||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Build and test rclnodejs | ||
| run: | | ||
| uname -a | ||
| source /opt/ros/${{ matrix.ros_distribution }}/setup.bash | ||
| npm i | ||
| npm run lint | ||
| npm test | ||
| npm run clean | ||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,4 +1,4 @@ | ||||||||||||||||||||||||||||||
| name: Linux x64/arm64 | ||||||||||||||||||||||||||||||
| name: Linux x64 | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| on: | ||||||||||||||||||||||||||||||
| push: | ||||||||||||||||||||||||||||||
|
|
@@ -20,35 +20,33 @@ defaults: | |||||||||||||||||||||||||||||
| shell: bash | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| jobs: | ||||||||||||||||||||||||||||||
| identify-ros-distro: | ||||||||||||||||||||||||||||||
| uses: ./.github/workflows/identify-ros-distro.yml | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| matrix-prep: | ||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||
| outputs: | ||||||||||||||||||||||||||||||
| arm64-matrix: ${{ steps.set-matrix.outputs.arm64-matrix }} | ||||||||||||||||||||||||||||||
| steps: | ||||||||||||||||||||||||||||||
| - id: set-matrix | ||||||||||||||||||||||||||||||
| run: | | ||||||||||||||||||||||||||||||
| if ${{ contains(github.base_ref, 'develop') || contains(github.ref, 'develop') }}; then | ||||||||||||||||||||||||||||||
| echo "arm64-matrix=[{\"architecture\":\"arm64\",\"node-version\":\"22.X\",\"ubuntu-version\":\"24.04-arm\"}]" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||
| else | ||||||||||||||||||||||||||||||
| echo "arm64-matrix=[]" >> $GITHUB_OUTPUT | ||||||||||||||||||||||||||||||
| fi | ||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||
| build: | ||||||||||||||||||||||||||||||
| needs: [identify-ros-distro, matrix-prep] | ||||||||||||||||||||||||||||||
| runs-on: ubuntu-${{ matrix.ubuntu-version }} | ||||||||||||||||||||||||||||||
| runs-on: ubuntu-latest | ||||||||||||||||||||||||||||||
| container: | ||||||||||||||||||||||||||||||
| image: ${{ needs.identify-ros-distro.outputs.linuxos }} | ||||||||||||||||||||||||||||||
| image: ${{ matrix.docker_image }} | ||||||||||||||||||||||||||||||
| strategy: | ||||||||||||||||||||||||||||||
| fail-fast: false | ||||||||||||||||||||||||||||||
| matrix: | ||||||||||||||||||||||||||||||
| node-version: [20.X, 22.X, 24.X] | ||||||||||||||||||||||||||||||
| node-version: [22.X, 24.X] | ||||||||||||||||||||||||||||||
| architecture: [x64] | ||||||||||||||||||||||||||||||
| ubuntu-version: [latest] | ||||||||||||||||||||||||||||||
| # Include arm64 configuration from matrix-prep job | ||||||||||||||||||||||||||||||
| include: ${{ fromJSON(needs.matrix-prep.outputs.arm64-matrix) }} | ||||||||||||||||||||||||||||||
| ros_distribution: | ||||||||||||||||||||||||||||||
| - humble | ||||||||||||||||||||||||||||||
| - jazzy | ||||||||||||||||||||||||||||||
| - kilted | ||||||||||||||||||||||||||||||
| - rolling | ||||||||||||||||||||||||||||||
| include: | ||||||||||||||||||||||||||||||
| # Humble Hawksbill (May 2022 - May 2027) | ||||||||||||||||||||||||||||||
| - docker_image: ubuntu:jammy | ||||||||||||||||||||||||||||||
| ros_distribution: humble | ||||||||||||||||||||||||||||||
| # Jazzy Jalisco (May 2024 - May 2029) | ||||||||||||||||||||||||||||||
| - docker_image: ubuntu:noble | ||||||||||||||||||||||||||||||
| ros_distribution: jazzy | ||||||||||||||||||||||||||||||
| # Kilted Kaiju (May 2025 - Dec 2026) | ||||||||||||||||||||||||||||||
| - docker_image: ubuntu:noble | ||||||||||||||||||||||||||||||
| ros_distribution: kilted | ||||||||||||||||||||||||||||||
| # Rolling Ridley (No End-Of-Life) | ||||||||||||||||||||||||||||||
| - docker_image: ubuntu:noble | ||||||||||||||||||||||||||||||
|
Comment on lines
+42
to
+48
|
||||||||||||||||||||||||||||||
| - docker_image: ubuntu:noble | |
| ros_distribution: jazzy | |
| # Kilted Kaiju (May 2025 - Dec 2026) | |
| - docker_image: ubuntu:noble | |
| ros_distribution: kilted | |
| # Rolling Ridley (No End-Of-Life) | |
| - docker_image: ubuntu:noble | |
| - docker_image: ubuntu:jammy | |
| ros_distribution: jazzy | |
| # Kilted Kaiju (May 2025 - Dec 2026) | |
| - docker_image: ubuntu:jammy | |
| ros_distribution: kilted | |
| # Rolling Ridley (No End-Of-Life) | |
| - docker_image: ubuntu:jammy |
Copilot
AI
May 26, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
[nitpick] The include blocks for different distributions are duplicated almost identically across both x64 and ARM64 workflows. Consider extracting this into a reusable workflow or template to reduce duplication and ease future updates.
| include: | |
| # Humble Hawksbill (May 2022 - May 2027) | |
| - docker_image: ubuntu:jammy | |
| ros_distribution: humble | |
| # Jazzy Jalisco (May 2024 - May 2029) | |
| - docker_image: ubuntu:noble | |
| ros_distribution: jazzy | |
| # Kilted Kaiju (May 2025 - Dec 2026) | |
| - docker_image: ubuntu:noble | |
| ros_distribution: kilted | |
| # Rolling Ridley (No End-Of-Life) | |
| - docker_image: ubuntu:noble | |
| ros_distribution: rolling | |
| include: ${{ fromJson(needs.shared-matrix.outputs.matrix) }} |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -16,16 +16,26 @@ on: | |
| workflow_dispatch: | ||
|
|
||
| jobs: | ||
| identify-ros-distro: | ||
| uses: ./.github/workflows/identify-ros-distro.yml | ||
|
|
||
| build: | ||
| needs: identify-ros-distro | ||
| runs-on: windows-2019 | ||
| strategy: | ||
| fail-fast: false | ||
| matrix: | ||
| node-version: [22.X] | ||
| ros_distribution: | ||
| - humble | ||
| - jazzy | ||
| - kilted | ||
| - rolling | ||
| include: | ||
| # Humble Hawksbill (May 2022 - May 2027) | ||
| - ros_distribution: humble | ||
| # Jazzy Jalisco (May 2024 - May 2029) | ||
| - ros_distribution: jazzy | ||
| # Kilted Kaiju (May 2025 - Dec 2026) | ||
| - ros_distribution: kilted | ||
| # Rolling Ridley (No End-Of-Life) | ||
| - ros_distribution: rolling | ||
| steps: | ||
| - name: Setup Node.js ${{ matrix.node-version }} | ||
| uses: actions/setup-node@v4 | ||
|
|
@@ -35,11 +45,10 @@ jobs: | |
| - name: Setup ROS2 | ||
| uses: ros-tooling/[email protected] | ||
| with: | ||
| required-ros-distributions: ${{ needs.identify-ros-distro.outputs.distro }} | ||
| use-ros2-testing: true | ||
| required-ros-distributions: ${{ matrix.ros_distribution }} | ||
|
|
||
| - name: Install ROS2 Rolling (Conditional) | ||
| if: ${{ needs.identify-ros-distro.outputs.distro == 'rolling' }} | ||
| if: ${{ matrix.ros_distribution == 'rolling' }} | ||
| shell: bash | ||
| run: | | ||
| wget --quiet https://ci.ros2.org/view/packaging/job/packaging_windows/lastSuccessfulBuild/artifact/ws/ros2-package-windows-AMD64.zip -O rolling.zip | ||
|
|
@@ -53,14 +62,13 @@ jobs: | |
| - name: Build rclnodejs | ||
| shell: cmd | ||
| run: | | ||
| call "c:\dev\${{ needs.identify-ros-distro.outputs.distro }}\ros2-windows\setup.bat" | ||
| call "c:\dev\${{ matrix.ros_distribution }}\ros2-windows\setup.bat" | ||
| npm i | ||
|
|
||
| # On the windows/foxy combination the Eclipse CycloneDDS RMW implementation is used to workaround | ||
| # an error when loading the default fastrtps ddl | ||
| - name: Test rclnodejs | ||
| shell: cmd | ||
| run: | | ||
| call "c:\dev\${{ needs.identify-ros-distro.outputs.distro }}\ros2-windows\setup.bat" | ||
| cmd /c "if ${{ needs.identify-ros-distro.outputs.distro }}==foxy (set RMW_IMPLEMENTATION=rmw_cyclonedds_cpp&&npm test)" | ||
| cmd /c "if NOT ${{ needs.identify-ros-distro.outputs.distro }}==foxy if NOT ${{ needs.identify-ros-distro.outputs.distro }}==rolling if NOT ${{ needs.identify-ros-distro.outputs.distro }}==kilted (npm test)" | ||
| call "c:\dev\${{ matrix.ros_distribution }}\ros2-windows\setup.bat" | ||
| cmd /c "if NOT ${{ matrix.ros_distribution }}==rolling if NOT ${{ matrix.ros_distribution }}==kilted (npm test)" | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The Docker image tag
ubuntu:nobleis invalid and will break the ARM64 workflow. Replace it with a valid Ubuntu tag likeubuntu:22.04(jammy) to match the Humble setup.