on: release: types: [ created ] name: Build & Deploy Image jobs: build: name: Build & Release Image runs-on: self-hosted 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 }} - name: Upload Release Asset id: upload-release-asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.LONG_TOKEN }} with: upload_url: ${{ github.event.release.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 }}