name: ls6image
on:
  push:
    branches:
      - main
  pull_request:

jobs:
   docker-ci:
     runs-on: ubuntu-latest
     name: "docker ls6 env"
     env:
       DOCKERPATH: docker/ls6
     steps:
       - name: Cancel previous runs
         uses: styfle/cancel-workflow-action@0.11.0
         with:
           access_token: ${{ github.token }}     
       - uses: actions/checkout@v3
         with:
           fetch-depth: 0
       - uses: Ana06/get-changed-files@v2.2.0       
         id: files
       - name: Dockerpath configuration
         run: echo "DOCKERPATH=$DOCKERPATH"
       - name: Dockerpath - check if files in docker path changed
         if: contains(steps.files.outputs.all,env.DOCKERPATH) || contains(steps.files.outputs.all,'docker-ls6.yaml')
         run: |
           echo "CI container needs rebuilding..."
           echo "CI_NEEDS_REBUILD=true" >> $GITHUB_ENV
       - name: Docker Image - Set up QEMU
         if: env.CI_NEEDS_REBUILD
         uses: docker/setup-qemu-action@v2
       - name: Docker Image - Setup Buildx
         if: env.CI_NEEDS_REBUILD
         uses: docker/setup-buildx-action@v2
       - name: Docker Image - Dockerhub login
         if: env.CI_NEEDS_REBUILD
         uses: docker/login-action@v2
         with:
           username: ${{ secrets.DOCKERHUB_USERNAME }}
           password: ${{ secrets.DOCKERHUB_TOKEN }}
       - name: Extract metadata (tags, labels) for Docker
         id: meta
         if: env.CI_NEEDS_REBUILD
         uses: docker/metadata-action@v4
         with:
           images: pecosut/tps_ls6
           tags: type=sha
           flavor: latest=true
       - name: Build Container motd
         if: env.CI_NEEDS_REBUILD
         run: |
           echo "#!/bin/bash" > ${{env.DOCKERPATH}}/motd.sh
           echo "echo --------------------------------" >> ${{env.DOCKERPATH}}/motd.sh
           echo "echo TPS/ls6 Development Container"  >> ${{env.DOCKERPATH}}/motd.sh
           echo "echo \"Revision: `echo ${GITHUB_SHA} | cut -c1-8`\"" >> ${{env.DOCKERPATH}}/motd.sh
           echo "echo --------------------------------" >> ${{env.DOCKERPATH}}/motd.sh
           chmod 755 ${{env.DOCKERPATH}}/motd.sh
           cat ${{env.DOCKERPATH}}/motd.sh
       - name: Docker Image - Build and push
         if: env.CI_NEEDS_REBUILD
         uses: docker/build-push-action@v3
         with:
           push: true
           context: ${{ env.DOCKERPATH }}	   
           tags: ${{ steps.meta.outputs.tags }}
       - name: Docker Image - modules avail
         if: env.CI_NEEDS_REBUILD
         run: docker ps