name: docker
on:
  push:
    tags:
    - '[2-9].[0-9]+.[0-9]+'
jobs:
    push_to_registry:
        name: Push Docker image to Docker Hub
        runs-on: ubuntu-latest
        steps:
        - name: Check out the repo
          uses: actions/checkout@v2

        - name: Log in to Docker Hub
          uses: docker/login-action@v1
          with:
              username: ${{ secrets.DOCKER_USERNAME }}
              password: ${{ secrets.DOCKER_PASSWORD }}

        - name: Extract metadata (tags, labels) for Docker
          id: meta
          uses: docker/metadata-action@v3
          with:
            images: cdent/gabbi
            tags: |
              type=semver,pattern={{version}}
              type=semver,pattern={{major}}.{{minor}}
              type=semver,pattern={{major}}

        - name: Build and push Docker image
          uses: docker/build-push-action@ad44023a93711e3deb337508980b4b5e9bcdc5dc
          with:
              context: .
              push: true
              tags: ${{ steps.meta.outputs.tags }}
              labels: ${{ steps.meta.outputs.labels }}
              build-args:
                  GABBI_VERSION=${{steps.meta.outputs.version}}
