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 }}
