-
Notifications
You must be signed in to change notification settings - Fork 105
50 lines (48 loc) · 1.7 KB
/
release.yml
File metadata and controls
50 lines (48 loc) · 1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
on:
release:
types: [ created ]
name: Build & Deploy Image
jobs:
build:
name: Build & Release 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 }}
- 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 }}