-
-
Notifications
You must be signed in to change notification settings - Fork 1
129 lines (124 loc) · 3.37 KB
/
main.yml
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
name: Build
on:
# push:
# tags:
# - '0.1.*'
workflow_dispatch:
inputs:
version:
description: 'version'
required: true
default: '0.1.0'
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Install requirements.txt
run: |
set -eux
python3 -m pip install -r requirements.txt
- name: Build binary with PyInstaller
run: |
set -eux
python3 -m PyInstaller --onefile --windowed main.py --name lancalc
- name: Zip binary
run: |
set -eux
zip -rm dist/lancalc-linux.zip dist/lancalc
- name: List artifacts
run: |
set -eux
tree
- name: Upload artifact for Linux
uses: actions/upload-artifact@v2
with:
# name: artifact
path: dist/
build-macos:
runs-on: macos-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Install requirements
run: |
python3 -m pip install -r requirements.txt
- name: Build binary with PyInstaller
run: |
set -eux
python3 -m PyInstaller --onefile --windowed main.py --name lancalc
- name: Zip binary
run: |
set -eux
zip -rm dist/lancalc-macos.zip dist/lancalc
- name: List artifacts
run: |
set -eux
ls -lah dist
- name: Upload artifact for MacOS
uses: actions/upload-artifact@v2
with:
# name: artifact
path: dist/
build-windows:
runs-on: windows-latest
steps:
- name: Check out code
uses: actions/checkout@v2
- name: Set up Python 3
uses: actions/setup-python@v2
with:
python-version: 3.x
- name: Install requirements
run: |
python -m pip install -r requirements.txt
- name: Build binary with PyInstaller
run: |
python -m PyInstaller --onefile --windowed main.py --name lancalc.exe
- name: Zip binary
shell: pwsh
run: |
Compress-Archive -Path dist/lancalc.exe -DestinationPath dist/lancalc-windows.zip
- name: Upload artifact for Windows
uses: actions/upload-artifact@v2
with:
# name: artifact
path: dist/
release:
needs: [build-linux, build-windows, build-macos]
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Download artifacts
uses: actions/download-artifact@v2
with:
# name: artifact
path: dist
- name: List artifacts
run: |
set -eux
tree
- name: Create Release
uses: softprops/action-gh-release@v2
with:
name: Release ${{ github.event.inputs.version }}
tag_name: ${{ github.event.inputs.version }}
body: 'Release ${{ github.event.inputs.version }}'
draft: true
prerelease: false
files: |
dist/artifact/lancalc-linux.zip
dist/artifact/lancalc-macos.zip
dist/artifact/lancalc-windows.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}