diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 571c3af3..33ace2ee 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -46,102 +46,135 @@ jobs: - 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: 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,linux/arm64 - label: ros2 tag: iron-cuda target: dev + platforms: linux/amd64,linux/arm64 - label: ros2 tag: iron-cuda target: full + platforms: linux/amd64,linux/arm64 - label: ros2 tag: iron-cuda target: gazebo-nvidia + 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,linux/arm64 - label: ros2 tag: humble-cuda target: dev + platforms: linux/amd64,linux/arm64 - label: ros2 tag: humble-cuda target: full + platforms: linux/amd64,linux/arm64 - label: ros2 tag: humble-cuda target: gazebo-nvidia + platforms: linux/amd64 - label: gazebo tag: gazebo11 target: base + platforms: linux/amd64 - label: gazebo tag: gazebo11 target: dev + platforms: linux/amd64 - label: gazebo tag: gazebo11 target: nvidia + platforms: linux/amd64 - label: ignition tag: fortress target: base + platforms: linux/amd64,linux/arm64 - label: ignition tag: fortress target: dev + platforms: linux/amd64,linux/arm64 - label: ignition tag: fortress target: nvidia + platforms: linux/amd64,linux/arm64 - label: ignition tag: citadel target: base + platforms: linux/amd64,linux/arm64 - label: ignition tag: citadel target: dev + platforms: linux/amd64,linux/arm64 - label: ignition tag: citadel target: nvidia + platforms: linux/amd64,linux/arm64 - label: gz tag: garden target: base + platforms: linux/amd64,linux/arm64 - label: gz tag: garden target: dev + platforms: linux/amd64,linux/arm64 - label: gz tag: garden target: nvidia + platforms: linux/amd64,linux/arm64 - label: gz tag: garden target: nvidia-dev + platforms: linux/amd64,linux/arm64 steps: - name: Set current date id: date @@ -166,6 +199,7 @@ jobs: push: ${{ github.ref == 'refs/heads/main' }} file: ${{ matrix.label }}/${{ matrix.tag}}.Dockerfile target: ${{ matrix.target }} + platforms: ${{ matrix.platforms }} tags: | althack/${{ matrix.label }}:${{ matrix.tag }}-${{ matrix.target }} althack/${{ matrix.label }}:${{ matrix.tag }}-${{ matrix.target }}-${{ steps.date.outputs.date }} diff --git a/generate.py b/generate.py index 5c4c515d..099b9396 100755 --- a/generate.py +++ b/generate.py @@ -89,7 +89,10 @@ def workflow_names(self, eol: bool = False) -> list: item = { "label": label, "tag": tag, - "target": target + "target": target, + "platforms": ("linux/amd64" + if "gazebo" in target or "gazebo" in tag + else "linux/amd64,linux/arm64") } output.append(item) return output diff --git a/templates.yml b/templates.yml index 49c4d66f..965274f0 100644 --- a/templates.yml +++ b/templates.yml @@ -1,5 +1,5 @@ ros: - - + - name: noetic ros_distro: noetic targets: @@ -10,7 +10,7 @@ ros: python_env: "3" python_version: "3" ubuntu_distro: "20.04" - - + - name: melodic ros_distro: melodic targets: @@ -22,7 +22,7 @@ ros: python_version: "2.7" ubuntu_distro: "18.04" eol: true - - + - name: lunar ros_distro: lunar targets: @@ -34,7 +34,7 @@ ros: python_version: "2.7" ubuntu_distro: "18.04" eol: true - - + - name: kinetic ros_distro: kinetic targets: @@ -47,7 +47,7 @@ ros: ubuntu_distro: "16.04" eol: true ros2: - - + - name: iron ros_distro: iron targets: @@ -58,7 +58,7 @@ ros2: python_version: "3.10" base_image: "ubuntu" image_version: "22.04" - - + - name: iron-cuda ros_distro: iron targets: @@ -69,7 +69,7 @@ ros2: python_version: "3.10" base_image: "nvidia/cuda" image_version: "11.8.0-runtime-ubuntu22.04" - - + - name: humble ros_distro: humble targets: @@ -80,7 +80,7 @@ ros2: python_version: "3.10" base_image: "ubuntu" image_version: "22.04" - - + - name: humble-cuda ros_distro: humble targets: @@ -91,7 +91,7 @@ ros2: python_version: "3.10" base_image: "nvidia/cuda" image_version: "11.8.0-runtime-ubuntu22.04" - - + - name: galactic ros_distro: galactic targets: @@ -115,7 +115,7 @@ ros2: base_image: "nvidia/cuda" image_version: "11.7.0-runtime-ubuntu20.04" eol: true - - + - name: foxy ros_distro: foxy targets: @@ -127,7 +127,7 @@ ros2: base_image: "ubuntu" image_version: "20.04" eol: true - - + - name: foxy-cuda ros_distro: foxy targets: @@ -139,7 +139,7 @@ ros2: base_image: "nvidia/cuda" image_version: "11.8.0-runtime-ubuntu20.04" eol: true - - + - name: eloquent ros_distro: eloquent targets: @@ -151,7 +151,7 @@ ros2: base_image: "ubuntu" image_version: "18.04" eol: true - - + - name: dashing ros_distro: dashing targets: @@ -164,7 +164,7 @@ ros2: image_version: "18.04" eol: true gazebo: - - + - name: gazebo11 gazebo_release: "11" targets: @@ -172,7 +172,7 @@ gazebo: - dev - nvidia ubuntu_distro: "20.04" - - + - name: gazebo10 gazebo_release: "10" targets: @@ -180,7 +180,7 @@ gazebo: - dev ubuntu_distro: "18.04" eol: true - - + - name: gazebo9 gazebo_release: "9" targets: @@ -189,7 +189,7 @@ gazebo: ubuntu_distro: "18.04" eol: true ignition: - - + - name: fortress ign_distro: fortress targets: @@ -198,7 +198,7 @@ ignition: - nvidia gazebo_version: "6" ubuntu_distro: "20.04" - - + - name: edifice ign_distro: edifice targets: @@ -208,7 +208,7 @@ ignition: gazebo_version: "5" ubuntu_distro: "20.04" eol: true - - + - name: dome ign_distro: dome targets: @@ -218,7 +218,7 @@ ignition: gazebo_version: "4" ubuntu_distro: "18.04" eol: true - - + - name: citadel ign_distro: citadel targets: @@ -228,7 +228,7 @@ ignition: gazebo_version: "3" ubuntu_distro: "18.04" gz: - - + - name: garden gz_distro: garden targets: