diff --git a/.github/actions/build-image/action.yml b/.github/actions/build-image/action.yml new file mode 100644 index 000000000..ce14f2cda --- /dev/null +++ b/.github/actions/build-image/action.yml @@ -0,0 +1,37 @@ +--- +name: 'build-image' + +description: 'builds a dokku docker image' + +inputs: + architecturet: + description: 'platform to build' + required: true + default: 'linux/amd64' + +runs: + using: "composite" + steps: + - uses: actions/checkout@v3 + + - name: download packages + uses: actions/download-artifact@v3 + with: + name: build + path: build + + - name: set up qemu + uses: docker/setup-qemu-action@v2 + + - name: set up docker buildx + id: buildx + uses: docker/setup-buildx-action@v2 + + - name: build docker image + timeout-minutes: 20 + run: | + docker buildx build \ + --platform ${{ inputs.architecturet }} \ + --progress plain \ + --tag "dokku/dokku:latest" \ + . \ No newline at end of file diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 5f45f31ff..0a7a83c5a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -80,42 +80,38 @@ jobs: name: build path: build - build-image: - name: build-image.${{ matrix.architecture }} + build-image-amd64: + name: build-image.linux/amd64 needs: build runs-on: ubuntu-20.04 - strategy: - fail-fast: false - matrix: - architecture: - - linux/amd64 - - linux/arm - - linux/arm64 steps: - - uses: actions/checkout@v3 - - - name: download packages - uses: actions/download-artifact@v3 + - name: build-image + uses: ./.github/actions/build-image with: - name: build - path: build + architecture: linux/amd64 - - name: set up qemu - uses: docker/setup-qemu-action@v2 + build-image-arm: + name: build-image.linux/arm + needs: build + runs-on: ubuntu-20.04 - - name: set up docker buildx - id: buildx - uses: docker/setup-buildx-action@v2 + steps: + - name: build-image + uses: ./.github/actions/build-image + with: + architecture: linux/arm - - name: build docker image - timeout-minutes: 20 - run: | - docker buildx build \ - --platform ${{ matrix.architecture }} \ - --progress plain \ - --tag "dokku/dokku:latest" \ - . + build-image-arm64: + name: build-image.linux/arm64 + needs: build + runs-on: ubuntu-20.04 + + steps: + - name: build-image + uses: ./.github/actions/build-image + with: + architecture: linux/arm64 unit-tests: name: unit.${{ matrix.index }}