From b445dea3c5b94707b0ba14d6a6092f657615a6e2 Mon Sep 17 00:00:00 2001 From: Kenji Miyake <31987104+kenji-miyake@users.noreply.github.com> Date: Tue, 24 May 2022 18:05:25 +0900 Subject: [PATCH] ci(docker-build-and-push): use matrix CI for no-CUDA and CUDA images (#354) * ci(docker-build-and-push): use matrix CI for no-CUDA and CUDA images Signed-off-by: Kenji Miyake * change the cuda option from prefix to suffix Signed-off-by: Kenji Miyake * improve matrix Signed-off-by: Kenji Miyake --- ...ker-build-and-push-humble-self-hosted.yaml | 27 +++++++++---------- .../docker-build-and-push-humble.yaml | 27 +++++++++---------- ...ocker-build-and-push-main-self-hosted.yaml | 27 +++++++++---------- .../workflows/docker-build-and-push-main.yaml | 27 +++++++++---------- 4 files changed, 48 insertions(+), 60 deletions(-) diff --git a/.github/workflows/docker-build-and-push-humble-self-hosted.yaml b/.github/workflows/docker-build-and-push-humble-self-hosted.yaml index 94450f3162325..a9338798e8706 100644 --- a/.github/workflows/docker-build-and-push-humble-self-hosted.yaml +++ b/.github/workflows/docker-build-and-push-humble-self-hosted.yaml @@ -11,6 +11,15 @@ on: jobs: docker-build-and-push-humble-self-hosted: runs-on: [self-hosted, linux, ARM64] + strategy: + fail-fast: false + matrix: + name: + - no-cuda + - cuda + include: + - { name: no-cuda, setup-args: --no-nvidia, additional-tag-suffix: "" } + - { name: cuda, setup-args: --no-cuda-drivers, additional-tag-suffix: -cuda } steps: # https://github.com/actions/checkout/issues/211 - name: Change permission of workspace @@ -32,7 +41,7 @@ jobs: cat arm64.env | sed -e "s/^\s*//" -e "/^#/d" >> $GITHUB_ENV fi - - name: Build 'autoware-universe' without CUDA + - name: Build 'autoware-universe' uses: ./.github/actions/docker-build-and-push with: bake-target: autoware-universe @@ -40,21 +49,9 @@ jobs: *.platform=linux/arm64 *.args.ROS_DISTRO=${{ env.rosdistro }} *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-nvidia + *.args.SETUP_ARGS=${{ matrix.setup-args }} tag-prefix: ${{ env.rosdistro }}- - tag-suffix: -arm64 - - - name: Build 'autoware-universe' with CUDA - uses: ./.github/actions/docker-build-and-push - with: - bake-target: autoware-universe - build-args: | - *.platform=linux/amd64 - *.args.ROS_DISTRO=${{ env.rosdistro }} - *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-cuda-drivers - tag-prefix: ${{ env.rosdistro }}-cuda- - tag-suffix: -arm64 + tag-suffix: ${{ matrix.additional-tag-suffix }}-arm64 - name: Show disk space run: | diff --git a/.github/workflows/docker-build-and-push-humble.yaml b/.github/workflows/docker-build-and-push-humble.yaml index b35d872c60da3..7faf9fe18fc13 100644 --- a/.github/workflows/docker-build-and-push-humble.yaml +++ b/.github/workflows/docker-build-and-push-humble.yaml @@ -11,6 +11,15 @@ on: jobs: docker-build-and-push-humble: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + name: + - no-cuda + - cuda + include: + - { name: no-cuda, setup-args: --no-nvidia, additional-tag-suffix: "" } + - { name: cuda, setup-args: --no-cuda-drivers, additional-tag-suffix: -cuda } steps: - name: Check out repository uses: actions/checkout@v3 @@ -27,7 +36,7 @@ jobs: cat arm64.env | sed -e "s/^\s*//" -e "/^#/d" >> $GITHUB_ENV fi - - name: Build 'autoware-universe' without CUDA + - name: Build 'autoware-universe' uses: ./.github/actions/docker-build-and-push with: bake-target: autoware-universe @@ -35,21 +44,9 @@ jobs: *.platform=linux/amd64 *.args.ROS_DISTRO=${{ env.rosdistro }} *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-nvidia + *.args.SETUP_ARGS=${{ matrix.setup-args }} tag-prefix: ${{ env.rosdistro }}- - tag-suffix: -amd64 - - - name: Build 'autoware-universe' with CUDA - uses: ./.github/actions/docker-build-and-push - with: - bake-target: autoware-universe - build-args: | - *.platform=linux/amd64 - *.args.ROS_DISTRO=${{ env.rosdistro }} - *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-cuda-drivers - tag-prefix: ${{ env.rosdistro }}-cuda- - tag-suffix: -amd64 + tag-suffix: ${{ matrix.additional-tag-suffix }}-amd64 - name: Show disk space run: | diff --git a/.github/workflows/docker-build-and-push-main-self-hosted.yaml b/.github/workflows/docker-build-and-push-main-self-hosted.yaml index af658e6ff5f6f..ffd48f63cfc32 100644 --- a/.github/workflows/docker-build-and-push-main-self-hosted.yaml +++ b/.github/workflows/docker-build-and-push-main-self-hosted.yaml @@ -11,6 +11,15 @@ on: jobs: docker-build-and-push-main-self-hosted: runs-on: [self-hosted, linux, ARM64] + strategy: + fail-fast: false + matrix: + name: + - no-cuda + - cuda + include: + - { name: no-cuda, setup-args: --no-nvidia, additional-tag-suffix: "" } + - { name: cuda, setup-args: --no-cuda-drivers, additional-tag-suffix: -cuda } steps: # https://github.com/actions/checkout/issues/211 - name: Change permission of workspace @@ -32,7 +41,7 @@ jobs: cat arm64.env | sed -e "s/^\s*//" -e "/^#/d" >> $GITHUB_ENV fi - - name: Build 'autoware-universe' without CUDA + - name: Build 'autoware-universe' uses: ./.github/actions/docker-build-and-push with: bake-target: autoware-universe @@ -40,21 +49,9 @@ jobs: *.platform=linux/arm64 *.args.ROS_DISTRO=${{ env.rosdistro }} *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-nvidia + *.args.SETUP_ARGS=${{ matrix.setup-args }} tag-prefix: ${{ env.rosdistro }}- - tag-suffix: -arm64 - - - name: Build 'autoware-universe' with CUDA - uses: ./.github/actions/docker-build-and-push - with: - bake-target: autoware-universe - build-args: | - *.platform=linux/amd64 - *.args.ROS_DISTRO=${{ env.rosdistro }} - *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-cuda-drivers - tag-prefix: ${{ env.rosdistro }}-cuda- - tag-suffix: -arm64 + tag-suffix: ${{ matrix.additional-tag-suffix }}-arm64 - name: Show disk space run: | diff --git a/.github/workflows/docker-build-and-push-main.yaml b/.github/workflows/docker-build-and-push-main.yaml index fc7942a2452b1..b31707c2e8613 100644 --- a/.github/workflows/docker-build-and-push-main.yaml +++ b/.github/workflows/docker-build-and-push-main.yaml @@ -11,6 +11,15 @@ on: jobs: docker-build-and-push-main: runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + name: + - no-cuda + - cuda + include: + - { name: no-cuda, setup-args: --no-nvidia, additional-tag-suffix: "" } + - { name: cuda, setup-args: --no-cuda-drivers, additional-tag-suffix: -cuda } steps: - name: Check out repository uses: actions/checkout@v3 @@ -27,7 +36,7 @@ jobs: cat arm64.env | sed -e "s/^\s*//" -e "/^#/d" >> $GITHUB_ENV fi - - name: Build 'autoware-universe' without CUDA + - name: Build 'autoware-universe' uses: ./.github/actions/docker-build-and-push with: bake-target: autoware-universe @@ -35,21 +44,9 @@ jobs: *.platform=linux/amd64 *.args.ROS_DISTRO=${{ env.rosdistro }} *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-nvidia + *.args.SETUP_ARGS=${{ matrix.setup-args }} tag-prefix: ${{ env.rosdistro }}- - tag-suffix: -amd64 - - - name: Build 'autoware-universe' with CUDA - uses: ./.github/actions/docker-build-and-push - with: - bake-target: autoware-universe - build-args: | - *.platform=linux/amd64 - *.args.ROS_DISTRO=${{ env.rosdistro }} - *.args.BASE_IMAGE=${{ env.base_image }} - *.args.SETUP_ARGS=--no-cuda-drivers - tag-prefix: ${{ env.rosdistro }}-cuda- - tag-suffix: -amd64 + tag-suffix: ${{ matrix.additional-tag-suffix }}-amd64 - name: Show disk space run: |