From eb1361ec0a6d2ba581252498f9fa24339c5827fe Mon Sep 17 00:00:00 2001 From: Peter Ott <3091463+OttPeterR@users.noreply.github.com> Date: Mon, 9 Oct 2023 16:55:27 -0400 Subject: [PATCH] Discrete Build Jobs (#60) * one build per arch * separate jobs * download code in each process * remove redeundant checkout * rename * consolidated setup * unique checkouts --- .github/workflows/build-tester.yml | 65 ++++++++++++++++++-- .github/workflows/publish-container.yml | 81 +++++++++++++++++++++++-- 2 files changed, 136 insertions(+), 10 deletions(-) diff --git a/.github/workflows/build-tester.yml b/.github/workflows/build-tester.yml index 03538fb..9690c51 100644 --- a/.github/workflows/build-tester.yml +++ b/.github/workflows/build-tester.yml @@ -3,17 +3,72 @@ name: "Build Addon" on: [pull_request] jobs: - build: - name: Test build + aarch64: runs-on: ubuntu-latest steps: - - name: Checkout code + - name: Checkout Code uses: actions/checkout@v3 - - name: Build Container + - name: Build Container (aarch64) uses: home-assistant/builder@master with: args: | --test \ - --all \ + --aarch64 \ + --target babybuddy \ + --docker-hub ottpeterr + + amd64: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + - name: Build Container (amd64) + uses: home-assistant/builder@master + with: + args: | + --test \ + --amd64 \ + --target babybuddy \ + --docker-hub ottpeterr + + armhf: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + - name: Build Container (armhf) + uses: home-assistant/builder@master + with: + args: | + --test \ + --armhf \ + --target babybuddy \ + --docker-hub ottpeterr + + armv7: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + - name: Build Container (armv7) + uses: home-assistant/builder@master + with: + args: | + --test \ + --armv7 \ + --target babybuddy \ + --docker-hub ottpeterr + + i386: + runs-on: ubuntu-latest + steps: + - name: Checkout Code + uses: actions/checkout@v3 + - name: Build Container (i386) + uses: home-assistant/builder@master + with: + args: | + --test \ + --i386 \ --target babybuddy \ --docker-hub ottpeterr diff --git a/.github/workflows/publish-container.yml b/.github/workflows/publish-container.yml index 1ae62cc..2f17e15 100644 --- a/.github/workflows/publish-container.yml +++ b/.github/workflows/publish-container.yml @@ -5,21 +5,92 @@ on: types: [published] jobs: - publish: - name: Publish + aarch64: runs-on: ubuntu-latest steps: - - name: Checkout code + - name: DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Checkout Code + uses: actions/checkout@v3 + - name: Publish Container (aarch64) + uses: home-assistant/builder@master + with: + args: | + --aarch64 \ + --target babybuddy \ + --docker-hub ottpeterr + + amd64: + runs-on: ubuntu-latest + steps: + - name: DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Checkout Code + uses: actions/checkout@v3 + - name: Publish Container (amd64) + uses: home-assistant/builder@master + with: + args: | + --amd64 \ + --target babybuddy \ + --docker-hub ottpeterr + + armhf: + runs-on: ubuntu-latest + steps: + - name: DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Checkout Code + uses: actions/checkout@v3 + - name: Publish Container (armhf) + uses: home-assistant/builder@master + with: + args: | + --armhf \ + --target babybuddy \ + --docker-hub ottpeterr + + armv7: + runs-on: ubuntu-latest + steps: + - name: DockerHub + uses: docker/login-action@v2 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + - name: Checkout Code uses: actions/checkout@v3 + - name: Publish Container (armv7) + uses: home-assistant/builder@master + with: + args: | + --armv7 \ + --target babybuddy \ + --docker-hub ottpeterr + + i386: + runs-on: ubuntu-latest + steps: - name: DockerHub uses: docker/login-action@v2 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - - name: Build Container + - name: Checkout Code + uses: actions/checkout@v3 + - name: Publish Container (i386) uses: home-assistant/builder@master with: args: | - --all \ + --i386 \ --target babybuddy \ --docker-hub ottpeterr