name: Build and push images on: push: branches: ['master'] jobs: build-and-push-image: runs-on: ubuntu-latest strategy: matrix: include: - { postgres: 10, alpine: 3.8 } - { postgres: 11, alpine: 3.10 } - { postgres: 12, alpine: 3.12 } - { postgres: 13, alpine: 3.14 } - { postgres: 14, alpine: 3.15 } steps: - name: Checkout repository uses: actions/checkout@v2 - 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 }}:9 build-args: | ALPINE_VERSION=${{ matrix.alpine }}