You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

57 lines
1.8 KiB

  1. on:
  2. push:
  3. tags:
  4. - 'v*'
  5. name: Build & Deploy Image
  6. jobs:
  7. build:
  8. name: Build & Release Image
  9. runs-on: self-hosted
  10. timeout-minutes: 2880
  11. env:
  12. working-directory: ./builder
  13. steps:
  14. - name: Clean project
  15. id: clean
  16. working-directory: ${{ env.working-directory }}
  17. run: |
  18. sudo rm -fr work deploy
  19. - name: Checkout code
  20. uses: actions/checkout@v2
  21. - name: Build project
  22. id: builder
  23. working-directory: ${{ env.working-directory }}
  24. run: |
  25. sudo bash build.sh
  26. echo ::set-output name=filename::$(ls deploy/*.tar.xz | xargs -n 1 basename)
  27. - name: Fix Permissions
  28. id: fix_perm_filename
  29. run: |
  30. chmod a+rw ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
  31. echo ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
  32. - name: Create Release
  33. id: create_release
  34. uses: actions/create-release@v1
  35. env:
  36. GITHUB_TOKEN: ${{ secrets.LONG_TOKEN }}
  37. with:
  38. tag_name: ${{ github.ref }}
  39. release_name: Release ${{ github.ref }}
  40. draft: false
  41. prerelease: false
  42. - name: Upload Release Asset
  43. id: upload-release-asset
  44. uses: actions/upload-release-asset@v1
  45. env:
  46. GITHUB_TOKEN: ${{ secrets.LONG_TOKEN }}
  47. with:
  48. upload_url: ${{ steps.create_release.outputs.upload_url }}
  49. asset_path: ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}
  50. asset_name: ${{ steps.builder.outputs.filename }}
  51. asset_content_type: application/x-tar
  52. - name: Delete Image
  53. id: delete_image
  54. run: |
  55. rm ${{ env.working-directory }}/deploy/${{ steps.builder.outputs.filename }}