minor bug fix #94
Workflow file for this run
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
| 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 |