on: ['pull_request']

name: Build & Validate Image

jobs:
  build:
    name: Build & Validate Image
    runs-on: ARM64
    timeout-minutes: 2880
    env:
      working-directory: ./
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Clean docker
        id: clean_docker
        working-directory: ${{ env.working-directory }}
        run: |
          docker system prune -af
          docker system prune --volumes -f
          docker image prune -af
          docker container stop $(docker container ls -aq) || true
          docker container rm $(docker container ls -aq) || true
      - name: Build project
        id: builder
        working-directory: ${{ env.working-directory }}
        run: |
          bash build-docker.sh
          echo ::set-output name=filename::$(ls deploy/*.img.xz | xargs -n 1 basename)
      - name: Fix Permissions
        id: fix_perm_filename
        run: |
          chmod a+rw ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
          echo ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
      - uses: actions/upload-artifact@v1
        with:
          name: ${{ steps.builder.outputs.filename }}
          path: ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
      - name: Delete Image
        id: delete_image
        run: |
          rm ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
