Skip to content

[arm64] Correct workflow #505

[arm64] Correct workflow

[arm64] Correct workflow #505

name: rclnodejs - Linux Build and Test
on:
push:
branches:
- develop
- kilted
- jazzy
- humble-hawksbill
pull_request:
branches:
- develop
- kilted
- jazzy
- humble-hawksbill
workflow_dispatch:
defaults:
run:
shell: bash
jobs:
identify-ros-distro:
uses: ./.github/workflows/identify-ros-distro.yml
build:
needs: identify-ros-distro
runs-on: ubuntu-${{ matrix.ubuntu-version }}
container:
image: ${{ needs.identify-ros-distro.outputs.linuxos }}
strategy:
fail-fast: false
matrix:
node-version: [20.X, 22.X, 24.X]
architecture: [x64]
ubuntu-version: [latest]
# Add arm64 support for rolling.
include:
- architecture: arm64
node-version: 22.X
ubuntu-version: 24.04-arm
branch: develop
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: ${{ needs.identify-ros-distro.outputs.distro }}
use-ros2-testing: true
- name: Install test-msgs on Linux
run: |
sudo apt install ros-${{ needs.identify-ros-distro.outputs.distro }}-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
npm i
npm run lint
npm test
npm run clean
- name: Coveralls Parallel
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
flag-name: run-${{ matrix.node-version }}-${{ matrix.architecture }}
parallel: true
finish:
needs: build
runs-on: ubuntu-latest
steps:
- name: Coveralls Finished
uses: coverallsapp/github-action@v2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
parallel-finished: true