-
Notifications
You must be signed in to change notification settings - Fork 1
135 lines (112 loc) · 3.45 KB
/
build.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
130
131
132
133
134
135
name: Build and package Weather - Release
on:
workflow_dispatch:
inputs:
version:
description: "Version"
required: true
default: "X.X"
jobs:
build-mac:
runs-on: macos-latest
env:
PYTHONVERSION: "3.11.1"
MACOSX_DEPLOYMENT_TARGET: "13.6"
PYI_BUILD_MODE: "onedir"
steps:
- uses: actions/checkout@v2
- name: Uninstall homebrew
run: |
curl -sLO https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh
chmod +x ./uninstall.sh
sudo ./uninstall.sh --force
sudo rm -rf /usr/local/Homebrew
sudo rm -rf /usr/local/Caskroom
sudo rm -rf /usr/local/bin/brew
- name: Cache Python download
id: cache-python-download
uses: actions/cache@v3
with:
path: ~/python.pkg
key: macOS-Python-${{ env.PYTHON_VERSION }}
- name: Get Python
run: |
curl https://www.python.org/ftp/python/${PYTHONVERSION}/python-${PYTHONVERSION}-macos11.pkg -o ~/python.pkg
- name: Install Python
run: sudo installer -pkg ~/python.pkg -target /
- name: Install Python dependencies and build
run: |
python3 --version
pip3 install --upgrade pip wheel
pip3 install -r requirements.txt
pip3 install pyinstaller
pyinstaller weather.spec
- name: Log files
run: |
ls dist
ls dist/Weather
mkdir Weather
mv ./dist/Weather.app ./Weather/Weather.app
ln -s /Applications ./Weather/Applications
hdiutil create -srcfolder ./Weather Weather.dmg
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: Weather.dmg
asset_name: Weather.dmg
tag: ${{ github.event.inputs.version }}
overwrite: true
build-linux:
runs-on: ubuntu-latest
env:
PYI_BUILD_MODE: "onefile"
steps:
- uses: actions/checkout@v2
- name: Setup Python 3.11.1
uses: actions/setup-python@v4
with:
python-version: 3.11.1
- name: Install requirements
run: |
pip3 install pyinstaller
pip3 install -r requirements.txt
sudo apt install python3-tk python3-pil.imagetk
- name: Build
run: pyinstaller weather.spec
- name: Log files
run: |
ls dist
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: dist/Weather
asset_name: Weather
tag: ${{ github.event.inputs.version }}
overwrite: true
build-windows:
runs-on: windows-latest
env:
PYI_BUILD_MODE: "onefile"
steps:
- uses: actions/checkout@v2
- name: Setup Python 3.11.1
uses: actions/setup-python@v4
with:
python-version: 3.11.1
- name: Install Python dependencies and build
run: |
python3 --version
pip install --upgrade pip wheel
pip install -r requirements.txt
pip install pyinstaller
pyinstaller windows-weather.spec
- name: Log files
run: |
ls dist
- name: Upload binaries to release
uses: svenstaro/upload-release-action@v2
with:
file: dist/Weather.exe
asset_name: Weather.exe
tag: ${{ github.event.inputs.version }}
overwrite: true