name: Multiple container CLI build tests
on:
  push:
  workflow_dispatch:
  schedule:
    - cron: '0 0 * * *'  # every day at midnight

env:
  IMAGE_NAME: myimage
  IMAGE_TAG: v1
  IMAGE_REGISTRY: quay.io

jobs:
  build-only-podman:
    name: Build and push image built only on Podman
    runs-on: ubuntu-20.04

    steps:
      - uses: actions/checkout@v2

      - name: Build image using Podman
        run: |
            podman build -t ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} -<<EOF
            FROM busybox
            RUN echo "hello world"
            EOF

      - name: Push image to ${{ env.IMAGE_REGISTRY }}
        id: push
        uses: ./
        with:
          image: ${{ env.IMAGE_NAME }}
          tags: ${{ env.IMAGE_TAG }}
          registry: ${{ env.IMAGE_REGISTRY }}/${{ secrets.REGISTRY_USER }}
          username: ${{ secrets.REGISTRY_USER }}
          password: ${{ secrets.REGISTRY_PASSWORD }}

      - name: Echo outputs
        run: |
          echo "${{ toJSON(steps.push.outputs) }}"

  build-only-docker:
    name: Build and push image built only on Docker
    runs-on: ubuntu-20.04

    steps:
      - uses: actions/checkout@v2

      - name: Build image using Docker
        run: |
            docker build -t ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} -<<EOF
            FROM busybox
            RUN echo "hello world"
            EOF

      - name: Push image to ${{ env.IMAGE_REGISTRY }}
        id: push
        uses: ./
        with:
          image: ${{ env.IMAGE_NAME }}
          tags: ${{ env.IMAGE_TAG }}
          registry: ${{ env.IMAGE_REGISTRY }}/${{ secrets.REGISTRY_USER }}
          username: ${{ secrets.REGISTRY_USER }}
          password: ${{ secrets.REGISTRY_PASSWORD }}

      - name: Echo outputs
        run: |
          echo "${{ toJSON(steps.push.outputs) }}"

  build-podman-latest:
    name: Build and push image built latest on Podman
    runs-on: ubuntu-20.04

    steps:
      - uses: actions/checkout@v2

      - name: Build image using Docker
        run: |
            docker build -t ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} -<<EOF
            FROM busybox
            RUN echo "hello world"
            EOF

      - name: Build image using Podman
        run: |
            podman build -t ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} -<<EOF
            FROM busybox
            RUN echo "hello world"
            EOF

      - name: Push image to ${{ env.IMAGE_REGISTRY }}
        id: push
        uses: ./
        with:
          image: ${{ env.IMAGE_NAME }}
          tags: ${{ env.IMAGE_TAG }}
          registry: ${{ env.IMAGE_REGISTRY }}/${{ secrets.REGISTRY_USER }}
          username: ${{ secrets.REGISTRY_USER }}
          password: ${{ secrets.REGISTRY_PASSWORD }}

      - name: Echo outputs
        run: |
          echo "${{ toJSON(steps.push.outputs) }}"

  build-docker-latest:
    name: Build and push image built latest on Docker
    runs-on: ubuntu-20.04

    steps:
      - uses: actions/checkout@v2

      - name: Build image using Podman
        run: |
            podman build -t ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} -<<EOF
            FROM busybox
            RUN echo "hello world"
            EOF

      - name: Build image using Docker
        run: |
            docker build -t ${{ env.IMAGE_NAME }}:${{ env.IMAGE_TAG }} -<<EOF
            FROM busybox
            RUN echo "hello world"
            EOF

      - name: Push image to ${{ env.IMAGE_REGISTRY }}
        id: push
        uses: ./
        with:
          image: ${{ env.IMAGE_NAME }}
          tags: ${{ env.IMAGE_TAG }}
          registry: ${{ env.IMAGE_REGISTRY }}/${{ secrets.REGISTRY_USER }}
          username: ${{ secrets.REGISTRY_USER }}
          password: ${{ secrets.REGISTRY_PASSWORD }}

      - name: Echo outputs
        run: |
          echo "${{ toJSON(steps.push.outputs) }}"