diff --git a/.github/workflows/build_images.yml b/.github/workflows/build_images.yml new file mode 100644 index 00000000..8fabdd75 --- /dev/null +++ b/.github/workflows/build_images.yml @@ -0,0 +1,60 @@ +name: Build docker images + +on: + push: + +jobs: + build: + runs-on: ubuntu-latest + + strategy: + fail-fast: false + matrix: + platform: [ + {arch: 'linux/amd64', tag: 'develop' }, + {arch: 'linux/arm64', tag: 'develop-arm64' } ] + container: [ + {name: 'aio-apache', context: './Containers/apache'}, + {name: 'aio-borgbackup', context: './Containers/borgbackup'}, + {name: 'aio-collabora', context: './Containers/collabora'}, + {name: 'aio-domaincheck', context: './Containers/domaincheck'}, + {name: 'all-in-one', context: './Containers/mastercontainer'}, + {name: 'aio-nextcloud', context: './Containers/nextcloud'}, + {name: 'aio-postgresql', context: './Containers/postgresql'}, + {name: 'aio-redis', context: './Containers/redis'}, + {name: 'aio-talk', context: './Containers/talk'}, + {name: 'aio-watchtower', context: './Containers/watchtower'}] + + steps: + - name: Check out the repo + uses: actions/checkout@v2 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v1 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v1 + + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKERHUB_USERNAME }} + password: ${{ secrets.DOCKERHUB_TOKEN }} + + - name: Docker metadata + id: metadata + uses: docker/metadata-action@v3 + with: + images: | + ${{ secrets.DOCKERHUB_USERNAME }}/${{ matrix.container.name }} + tags: | + ${{ matrix.platform.tag }} + + - name: Build docker image and push to dockerhub + uses: docker/build-push-action@v2 + with: + context: ${{ matrix.container.context }} + platforms: ${{matrix.platform.arch}} + no-cache: true + push: true + tags: ${{ steps.metadata.outputs.tags }}