|
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 |
- 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: 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: 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 }}
|