name: "Push images on merge to master"
on:
  push:
    branches:
      - master
jobs:
  build-and-push-image-operator:
    runs-on: ubuntu-20.04
    env:
      IMAGE_NAME: ghcr.io/${{ github.repository }}
    steps:
      - name: Check out the repo
        uses: actions/checkout@v2

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Login to Docker
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Build and push sriov-network-operator
        uses: docker/build-push-action@v2
        with:
          context: .
          push: true
          tags: |
            ${{ env.IMAGE_NAME }}:latest
            ${{ env.IMAGE_NAME }}:${{ github.sha }}
          file: ./Dockerfile

  build-and-push-image-config-daemon:
    runs-on: ubuntu-20.04
    env:
      IMAGE_NAME: ghcr.io/${{ github.repository }}-config-daemon
    steps:
      - name: Check out the repo
        uses: actions/checkout@v2

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Login to Docker
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Build and push sriov-network-operator-config-daemon
        uses: docker/build-push-action@v2
        with:
          context: .
          push: true
          tags: |
            ${{ env.IMAGE_NAME }}:latest
            ${{ env.IMAGE_NAME }}:${{ github.sha }}
          file: ./Dockerfile.sriov-network-config-daemon

  build-and-push-image-webhook:
    runs-on: ubuntu-20.04
    env:
      IMAGE_NAME: ghcr.io/${{ github.repository }}-webhook
    steps:
      - name: Check out the repo
        uses: actions/checkout@v2

      - name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1

      - name: Login to Docker
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Build and push sriov-network-operator-webhook
        uses: docker/build-push-action@v2
        with:
          context: .
          push: true
          tags: |
            ${{ env.IMAGE_NAME }}:latest
            ${{ env.IMAGE_NAME }}:${{ github.sha }}
          file: ./Dockerfile.webhook
