@@ -3,101 +3,104 @@ name: Releases
3
3
on :
4
4
push :
5
5
branches :
6
- - main
6
+ - main
7
7
tags :
8
- - v*
8
+ - v*
9
9
jobs :
10
10
docker-images :
11
11
name : Build Docker Images
12
12
runs-on : ubuntu-latest
13
13
strategy :
14
14
matrix :
15
15
include :
16
- - base : slim
17
- tag : " "
18
- file : ./Dockerfile
19
- context : ./
20
- - base : alpine
21
- tag : -alpine
22
- file : ./Dockerfile.alpine
23
- context : ./
16
+ - base : slim
17
+ tag : ' '
18
+ file : ./Dockerfile
19
+ context : ./
20
+ - base : alpine
21
+ tag : -alpine
22
+ file : ./Dockerfile.alpine
23
+ context : ./
24
24
steps :
25
- - uses : actions/checkout@v3
26
- - uses : docker/metadata-action@v4
27
- id : meta
28
- with :
29
- images : ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }}
30
- flavor : |
31
- suffix=${{ matrix.tag }},onlatest=true
32
- tags : |
33
- type=edge,branch=main,suffix=${{ matrix.tag }}
34
- type=semver,pattern=v{{version}}
35
- type=semver,pattern=v{{major}}.{{minor}}
36
- type=semver,pattern=v{{major}}
37
- - uses : docker/login-action@v2
38
- with :
39
- username : ${{ secrets.DOCKER_USERNAME }}
40
- password : ${{ secrets.DOCKER_PASSWORD }}
41
- - uses : docker/setup-qemu-action@v2
42
- - uses : docker/setup-buildx-action@v2
43
- id : buildx
44
- - uses : docker/build-push-action@v3
45
- with :
46
- context : ${{ matrix.context }}
47
- file : ${{ matrix.file }}
48
- platforms : linux/arm64, linux/amd64, linux/arm/v7, linux/386, linux/arm/v6
49
- push : true
50
- tags : ${{ steps.meta.outputs.tags }}
51
- labels : ${{ steps.meta.outputs.labels }}
52
- - uses : peter-evans/dockerhub-description@v3
53
- with :
54
- username : ${{ secrets.DOCKER_USERNAME }}
55
- password : ${{ secrets.DOCKER_PASSWORD }}
56
- repository : ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }}
57
- short-description : ${{ github.event.repository.description }}
58
- readme-filepath : ./DOCKER_README.md
25
+ - uses : actions/checkout@v3
26
+ - uses : docker/metadata-action@v4
27
+ id : meta
28
+ with :
29
+ images : ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }}
30
+ flavor : |
31
+ suffix=${{ matrix.tag }},onlatest=true
32
+ tags : |
33
+ type=edge,branch=main,suffix=${{ matrix.tag }}
34
+ type=semver,pattern=v{{version}}
35
+ type=semver,pattern=v{{major}}.{{minor}}
36
+ type=semver,pattern=v{{major}}
37
+ - uses : docker/login-action@v2
38
+ with :
39
+ username : ${{ secrets.DOCKER_USERNAME }}
40
+ password : ${{ secrets.DOCKER_PASSWORD }}
41
+ - uses : docker/setup-qemu-action@v2
42
+ - uses : docker/setup-buildx-action@v2
43
+ id : buildx
44
+ - uses : docker/build-push-action@v3
45
+ with :
46
+ context : ${{ matrix.context }}
47
+ file : ${{ matrix.file }}
48
+ platforms : linux/arm64, linux/amd64, linux/arm/v7, linux/386, linux/arm/v6
49
+ push : true
50
+ tags : ${{ steps.meta.outputs.tags }}
51
+ labels : ${{ steps.meta.outputs.labels }}
52
+ - uses : peter-evans/dockerhub-description@v3
53
+ with :
54
+ username : ${{ secrets.DOCKER_USERNAME }}
55
+ password : ${{ secrets.DOCKER_PASSWORD }}
56
+ repository : ${{ secrets.DOCKER_USERNAME }}/${{ secrets.DOCKER_REPOSITORY }}
57
+ short-description : ${{ github.event.repository.description }}
58
+ readme-filepath : ./DOCKER_README.md
59
59
releases :
60
60
name : Build Release Files
61
61
runs-on : ${{ matrix.os }}
62
62
strategy :
63
63
matrix :
64
64
include :
65
- - os : ubuntu-latest
66
- tag : linux
67
- - os : windows-latest
68
- tag : win
69
- - os : macos-latest
70
- tag : macos
65
+ - os : ubuntu-latest
66
+ tag : linux
67
+ - os : windows-latest
68
+ tag : win
69
+ - os : macos-latest
70
+ tag : macos
71
71
steps :
72
- - uses : actions/checkout@v3
73
- - uses : actions/setup-python@v4
74
- with :
75
- python-version : " 3.10"
76
- - name : Install dependencies
77
- run : pip install -r requirements-build.txt
78
- - name : Run PyInstaller
79
- run : |
80
- pyinstaller scanner.spec
81
- cp ./src/config.sample.ini ./dist/config.ini
82
- cp ./README.md ./dist/README.md
83
- cp ./LICENSE ./dist/LICENSE
84
- - name : Make filename for archive
85
- id : filename
86
- shell : bash
87
- run : echo "FILENAME=scanner-${{ github.ref_name }}-${{ matrix.tag }}.zip" >> $GITHUB_OUTPUT
88
- - name : Zip files (linux/macos)
89
- if : matrix.tag == 'linux' || matrix.tag == 'macos'
90
- run : zip -j ./${{ steps.filename.outputs.FILENAME }} ./dist/*
91
- - name : Zip files (win)
92
- if : matrix.tag == 'win'
93
- run : Compress-Archive ./dist/* ./${{ steps.filename.outputs.FILENAME }}
94
- - name : Upload archive
95
- uses : actions/upload-artifact@v3
96
- with :
97
- name : releases
98
- path : ./${{ steps.filename.outputs.FILENAME }}
99
- - name : Add archive to release
100
- uses : softprops/action-gh-release@v1
101
- if : github.ref_type == 'tag'
102
- with :
103
- files : ./${{ steps.filename.outputs.FILENAME }}
72
+ - uses : actions/checkout@v3
73
+ - uses : actions/setup-python@v4
74
+ with :
75
+ python-version : ' 3.10'
76
+ - uses : abatilo/actions-poetry@v2
77
+ with :
78
+ poetry-version : 1.5.1
79
+ - name : Install dependencies
80
+ run : poetry install --without test
81
+ - name : Run PyInstaller
82
+ run : |
83
+ poetry run pyinstaller scanner.spec
84
+ cp ./src/config.sample.ini ./dist/config.ini
85
+ cp ./README.md ./dist/README.md
86
+ cp ./LICENSE ./dist/LICENSE
87
+ - name : Make filename for archive
88
+ id : filename
89
+ shell : bash
90
+ run : echo "FILENAME=scanner-${{ github.ref_name }}-${{ matrix.tag }}.zip" >> $GITHUB_OUTPUT
91
+ - name : Zip files (linux/macos)
92
+ if : matrix.tag == 'linux' || matrix.tag == 'macos'
93
+ run : zip -j ./${{ steps.filename.outputs.FILENAME }} ./dist/*
94
+ - name : Zip files (win)
95
+ if : matrix.tag == 'win'
96
+ run : Compress-Archive ./dist/* ./${{ steps.filename.outputs.FILENAME }}
97
+ - name : Upload archive
98
+ uses : actions/upload-artifact@v3
99
+ with :
100
+ name : releases
101
+ path : ./${{ steps.filename.outputs.FILENAME }}
102
+ - name : Add archive to release
103
+ uses : softprops/action-gh-release@v1
104
+ if : github.ref_type == 'tag'
105
+ with :
106
+ files : ./${{ steps.filename.outputs.FILENAME }}
0 commit comments