on:
  push:
    tags:
    - 'v*'

name: Build & Deploy Image

jobs:
  build:
    name: Build & Release Image
    runs-on: self-hosted
    timeout-minutes: 2880
    env:
      working-directory: ./builder
    steps:
      - name: Checkout code
        uses: actions/checkout@v2
      - name: Build project
        id: builder
        working-directory: ${{ env.working-directory }} 
        env:
          CONTINUE: 1
        run: |
          bash build-docker.sh
          echo ::set-output name=filename::$(ls deploy/*.tar.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 }}
      - name: Create Release
        id: create_release
        uses: actions/create-release@v1
        env:
          GITHUB_TOKEN: ${{ secrets.LONG_TOKEN }}
        with:
          tag_name: ${{ github.ref }}
          release_name: Release ${{ github.ref }}
          draft: false
          prerelease: false
      - name: Upload Release Asset
        id: upload-release-asset 
        uses: actions/upload-release-asset@v1
        env:
          GITHUB_TOKEN: ${{ secrets.LONG_TOKEN }}
        with:
          upload_url: ${{ steps.create_release.outputs.upload_url }} 
          asset_path: ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
          asset_name: ${{ steps.builder.outputs.filename }}
          asset_content_type: application/x-tar
      - name: Delete Image
        id: delete_image
        run: |
          rm ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}