name: build and push images on: push: branches: ['master'] jobs: build-and-push-image: runs-on: ubuntu-latest strategy: matrix: include: - { postgres: 11, alpine: '3.10' } - { postgres: 12, alpine: '3.12' } - { postgres: 13, alpine: '3.14' } - { postgres: 14, alpine: '3.16' } - { postgres: 15, alpine: '3.17' } steps: - name: Checkout repository 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: Log in to DockerHub uses: docker/login-action@v1 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push Docker image uses: docker/build-push-action@v2 with: context: . push: true tags: ${{ github.repository }}:${{ matrix.postgres }} build-args: | ALPINE_VERSION=${{ matrix.alpine }} platforms: | linux/amd64 linux/arm64