Skip to content

Support waitForAllAcked() for publisher (#1138) #525

Support waitForAllAcked() for publisher (#1138)

Support waitForAllAcked() for publisher (#1138) #525

name: Linux x64/arm64
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
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 }}
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]
# Include arm64 configuration from matrix-prep job
include: ${{ fromJSON(needs.matrix-prep.outputs.arm64-matrix) }}
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