-
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
Merged
minggangw
merged 12 commits into
RobotWebTools:develop
from
minggangw:enable-active-lts-on-develop
May 26, 2025
Merged
Changes from all commits
Commits
Show all changes
12 commits
Select commit
Hold shift + click to select a range
c41eedd
Include all LTS ROS2 on develop branch
minggangw 78e7cd4
Add ros_distribution
minggangw be8c395
Separate arm64 platform
minggangw 5038393
User arm image for docker
minggangw 1848586
Use ubuntu arm
minggangw 8df7187
Only target on node 22.x for arm
minggangw 03c2ab1
Change windows accordingly
minggangw 04b8940
Fix rolling error for Windows
minggangw 7e2b843
Update badges in README
minggangw 3889eef
Address comments
minggangw 80314a4
Address comments
minggangw 8156bcd
Format
minggangw File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,68 @@ | ||
| 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: | ||
| - jazzy | ||
| - kilted | ||
| include: | ||
| # 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 | ||
|
|
||
| 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 |
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
| 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 | ||
| ros_distribution: rolling | ||
| steps: | ||
| - name: Setup Node.js ${{ matrix.node-version }} on ${{ matrix.architecture }} | ||
| uses: actions/setup-node@v4 | ||
|
|
@@ -59,19 +57,18 @@ 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 test-msgs on Linux | ||
| run: | | ||
| sudo apt install ros-${{ needs.identify-ros-distro.outputs.distro }}-test-msgs | ||
| sudo apt install ros-${{ matrix.ros_distribution }}-test-msgs | ||
|
|
||
| - uses: actions/checkout@v4 | ||
|
|
||
| - name: Build and test rclnodejs | ||
| run: | | ||
| uname -a | ||
| source /opt/ros/${{ needs.identify-ros-distro.outputs.distro }}/setup.bash | ||
| source /opt/ros/${{ matrix.ros_distribution }}/setup.bash | ||
| npm i | ||
| npm run lint | ||
| npm test | ||
|
|
||
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
| 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)" | ||
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
Oops, something went wrong.
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.
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 not a valid Ubuntu release; this will cause the container step to fail. Use a supported tag such asubuntu:20.04orubuntu:22.04(e.g.,ubuntu:jammy).