Skip to content

minor bug fix

minor bug fix #94

Workflow file for this run

name: Build Multi-Architecture ROS Containers
on:
push:
tags:
- 'dev*'
- 'v*'
jobs:
# Stage 0: Check conditions and set variables
get-version:
runs-on: ubuntu-latest
outputs:
image_version: ${{ steps.set_version.outputs.image_version }}
permissions:
packages: write
contents: read
pull-requests: write
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Set image version
id: set_version
run: |
echo "image_version=${{ github.ref_name }}" >> $GITHUB_OUTPUT
# Stage 1: ROS2 base humble images (AMD64/x86)
ros2-humble-base-amd64:
needs: get-version
name: ROS2 Humble Base Images (AMD64)
permissions:
packages: write
contents: read
strategy:
matrix:
config:
- { build_context: './ROS2/AMD64x86/humble', image_name: 'humble', image_version: "${{ needs.get-version.outputs.image_version }}" }
- { build_context: './ROS2/AMD64x86/humble_gpu', image_name: 'humble_gpu', image_version: "${{ needs.get-version.outputs.image_version }}" }
uses: ./.github/workflows/build-workflow.yaml
with:
build_context: ${{ matrix.config.build_context }}
image_name: ${{ matrix.config.image_name }}
image_version: ${{ matrix.config.image_version }}
runs_on: ubuntu-latest
# Stage 1: ROS2 base humble images (Jetson/ARM)
ros2-humble-jetson:
needs: get-version
name: ROS2 Humble Jetson Base
permissions:
packages: write
contents: read
strategy:
matrix:
config:
- { build_context: './ROS2/Jetson/humble_jetson', image_name: 'humble_jetson', image_version: "${{ needs.get-version.outputs.image_version }}" }
uses: ./.github/workflows/build-workflow.yaml
with:
build_context: ${{ matrix.config.build_context }}
image_name: ${{ matrix.config.image_name }}
image_version: ${{ matrix.config.image_version }}
runs_on: ubuntu-22.04-arm
# Stage 2: ROS2 humble_harmonic (depends on base humble)
ros2-humble-harmonic:
needs: [get-version, ros2-humble-base-amd64]
name: ROS2 Humble Harmonic
permissions:
packages: write
contents: read
strategy:
matrix:
config:
- { build_context: './ROS2/AMD64x86/humble_harmonic', image_name: 'humble_harmonic', image_version: "${{ needs.get-version.outputs.image_version }}" }
uses: ./.github/workflows/build-workflow.yaml
with:
build_context: ${{ matrix.config.build_context }}
image_name: ${{ matrix.config.image_name }}
image_version: ${{ matrix.config.image_version }}
runs_on: ubuntu-latest
# Stage 3: ROS2 wheelchair2_base images (AMD64/x86)
ros2-wheelchair-base:
needs: [get-version, ros2-humble-base-amd64, ros2-humble-harmonic]
name: ROS2 Wheelchair2 Base Images
permissions:
packages: write
contents: read
strategy:
matrix:
config:
- { build_context: './ROS2/AMD64x86/wheelchair2_base', image_name: 'wheelchair2_base', image_version: "${{ needs.get-version.outputs.image_version }}" }
- { build_context: './ROS2/AMD64x86/wheelchair2_base_gazebo', image_name: 'wheelchair2_base_gazebo', image_version: "${{ needs.get-version.outputs.image_version }}" }
uses: ./.github/workflows/build-workflow.yaml
with:
build_context: ${{ matrix.config.build_context }}
image_name: ${{ matrix.config.image_name }}
image_version: ${{ matrix.config.image_version }}
runs_on: ubuntu-latest
# Stage 3: ROS2 wheelchair2_base_jetson (depends on humble_jetson)
ros2-wheelchair-jetson:
needs: [get-version, ros2-humble-jetson]
name: ROS2 Wheelchair2 Jetson Images
permissions:
packages: write
contents: read
strategy:
matrix:
config:
- { build_context: './ROS2/Jetson/wheelchair2_base_jetson', image_name: 'wheelchair2_base_jetson', image_version: "${{ needs.get-version.outputs.image_version }}" }
uses: ./.github/workflows/build-workflow.yaml
with:
build_context: ${{ matrix.config.build_context }}
image_name: ${{ matrix.config.image_name }}
image_version: ${{ matrix.config.image_version }}
runs_on: ubuntu-22.04-arm
# Stage 4: Create release
# if the tag is v*, create a pre-release
create-release:
needs: [ros2-wheelchair-base, ros2-wheelchair-jetson]
if: startsWith(github.ref_name, 'v')
runs-on: ubuntu-latest
permissions:
contents: write
packages: read
pull-requests: read
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Create Release
id: create_release
uses: ncipollo/release-action@v1
with:
tag: ${{ github.ref_name }}
prerelease: true
generateReleaseNotes: true