Update workflows for all pull request tests in test.yml #1095
This file contains 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: Dockerfiles | |
# Test and push dockerfiles when merged into main and on schedule. | |
on: | |
push: | |
branches: | |
- main | |
schedule: | |
# * is a special character in YAML so you have to quote this string | |
- cron: "0 0 1 * *" | |
workflow_dispatch: | |
# Cancel in-progress funs of the same workflow | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
docker: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- label: ros | |
tag: noetic | |
target: base | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros | |
tag: noetic | |
target: dev | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros | |
tag: noetic | |
target: full | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros | |
tag: noetic | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: rolling | |
target: base | |
platforms: "linux/amd64,linux/arm64/v8" | |
- label: ros2 | |
tag: rolling | |
target: dev | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: rolling | |
target: full | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: rolling | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: rolling-cuda | |
target: base | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: rolling-cuda | |
target: dev | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: rolling-cuda | |
target: full | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: rolling-cuda | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: jazzy | |
target: base | |
platforms: "linux/amd64,linux/arm64/v8" | |
- label: ros2 | |
tag: jazzy | |
target: dev | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: jazzy | |
target: full | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: jazzy | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: iron | |
target: base | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros2 | |
tag: iron | |
target: dev | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros2 | |
tag: iron | |
target: full | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros2 | |
tag: iron | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: iron-cuda | |
target: base | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: iron-cuda | |
target: dev | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: iron-cuda | |
target: full | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: iron-cuda | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: humble | |
target: base | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros2 | |
tag: humble | |
target: dev | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros2 | |
tag: humble | |
target: full | |
platforms: "linux/amd64,linux/arm64" | |
- label: ros2 | |
tag: humble | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: humble-cuda | |
target: base | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: humble-cuda | |
target: dev | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: humble-cuda | |
target: full | |
platforms: "linux/amd64" | |
- label: ros2 | |
tag: humble-cuda | |
target: gazebo | |
platforms: "linux/amd64" | |
- label: gazebo | |
tag: gazebo11 | |
target: base | |
platforms: "linux/amd64" | |
- label: gazebo | |
tag: gazebo11 | |
target: dev | |
platforms: "linux/amd64" | |
- label: ignition | |
tag: fortress | |
target: base | |
platforms: "linux/amd64" | |
- label: ignition | |
tag: fortress | |
target: dev | |
platforms: "linux/amd64" | |
- label: ignition | |
tag: citadel | |
target: base | |
platforms: "linux/amd64" | |
- label: ignition | |
tag: citadel | |
target: dev | |
platforms: "linux/amd64" | |
- label: gz | |
tag: harmonic | |
target: base | |
platforms: "linux/amd64" | |
- label: gz | |
tag: harmonic | |
target: dev | |
platforms: "linux/amd64" | |
- label: gz | |
tag: harmonic-cuda | |
target: base | |
platforms: "linux/amd64" | |
- label: gz | |
tag: harmonic-cuda | |
target: dev | |
platforms: "linux/amd64" | |
- label: gz | |
tag: garden | |
target: base | |
platforms: "linux/amd64" | |
- label: gz | |
tag: garden | |
target: dev | |
platforms: "linux/amd64" | |
- label: gz | |
tag: garden-cuda | |
target: base | |
platforms: "linux/amd64" | |
- label: gz | |
tag: garden-cuda | |
target: dev | |
platforms: "linux/amd64" | |
steps: | |
- uses: actions/checkout@v4 | |
- name: Set current date | |
id: date | |
run: | | |
echo "date=$(date +%Y-%m-%d)" >> "$GITHUB_OUTPUT" | |
- name: Use current date | |
run: | | |
echo "Current date is ${{ steps.date.outputs.date }}" | |
- name: Set up QEMU | |
uses: docker/setup-qemu-action@v3 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Login to Docker Hub | |
uses: docker/login-action@v3 | |
with: | |
username: ${{ vars.DOCKERHUB_USERNAME }} | |
password: ${{ secrets.DOCKERHUB_PASSWORD }} | |
- name: Log in to GHCR | |
uses: docker/login-action@v3 | |
with: | |
registry: ghcr.io | |
username: ${{ github.actor }} | |
password: ${{ secrets.GITHUB_TOKEN }} | |
- name: Build and push | |
uses: docker/build-push-action@v6 | |
with: | |
file: ${{ matrix.label }}/${{ matrix.tag }}.Dockerfile | |
target: ${{ matrix.target }} | |
platforms: ${{ matrix.platforms }} | |
tags: | | |
${{ vars.DOCKERHUB_USERNAME }}/${{ matrix.label }}:${{ matrix.tag }}-${{ matrix.target }} | |
${{ vars.DOCKERHUB_USERNAME }}/${{ matrix.label }}:${{ matrix.tag }}-${{ matrix.target }}-${{ steps.date.outputs.date }} | |
ghcr.io/${{ github.repository_owner }}/${{ matrix.label }}:${{ matrix.tag }}-${{ matrix.target }} | |
cache-from: | | |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.label }}:${{ matrix.tag }}-buildcache | |
type=gha | |
cache-to: | | |
type=registry,ref=ghcr.io/${{ github.repository_owner }}/${{ matrix.label }}:${{ matrix.tag }}-buildcache,mode=max | |
type=gha,mode=max |