66
66
tags : cloudblueconnect/connect-cli:${{ steps.tag.outputs.result }},cloudblueconnect/connect-cli:latest
67
67
- name : Docker image digest
68
68
run : echo ${{ steps.docker_build.outputs.digest }}
69
- - name : Build linux distro
70
- env :
71
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
72
- run : |
73
- echo version = '${{ steps.tag.outputs.result }}' > connect/.data/version.txt
74
- poetry run pyinstaller resources/ccli.spec
75
- - name : Package linux distro
76
- env :
77
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
78
- run : |
79
- tar cvfz connect-cli_${{ steps.tag.outputs.result }}_linux_amd64.tar.gz dist
80
- - name : Upload distro package to artifacts
81
- uses : actions/upload-artifact@v2
82
- with :
83
- name : linux_distro
84
- path : connect-cli_${{ steps.tag.outputs.result }}_linux_amd64.tar.gz
85
- retention-days : 5
86
69
windows :
87
70
runs-on : windows-latest
88
71
steps :
98
81
- name : Install dependencies
99
82
run : |
100
83
python -m pip install --upgrade pip
101
- pip install poetry
84
+ pip install poetry pynsist wheel
102
85
poetry install
103
86
- name : Checkout latest reports repository
104
87
run : |
@@ -111,81 +94,36 @@ jobs:
111
94
result-encoding : string
112
95
script : |
113
96
return context.payload.ref.replace(/refs\/tags\//, '')
114
- - name : Build windows distro
115
- env :
116
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
97
+ - name : Generate connect-cli wheel
117
98
run : |
118
- echo version = '${{ steps.tag.outputs.result }}' > connect/.data/version.txt
119
- poetry run pyinstaller resources/ccli.spec
99
+ poetry version ${{ steps.tag.outputs.result }}
100
+ poetry build
101
+ cp dist/*.whl resources/.
102
+ - name : Generate pynsist config file
103
+ run : |
104
+ poetry export --format requirements.txt --without-hashes --output resources/requirements.txt
105
+ poetry run python resources/generate_pynsist_config.py
106
+ cat resources/ccli.cfg
107
+ - name : Build windows installer
108
+ run : |
109
+ pynsist resources/ccli.cfg
120
110
- name : Package windows distro
121
111
env :
122
112
GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
123
113
OS_NAME : windows
124
114
CPU_ARCH : amd64
125
115
PKG_TAG : ${{ steps.tag.outputs.result }}
126
116
run : |
127
- & { compress-archive -path '.\dist ' -destinationpath '.\connect-cli_${{ steps.tag.outputs.result }}_windows_amd64.zip' }
117
+ & { compress-archive -path '.\resources\build\nsis\connect-cli_${{ steps.tag.outputs.result }}_setup.exe ' -destinationpath '.\connect-cli_${{ steps.tag.outputs.result }}_windows_amd64.zip' }
128
118
- name : Upload distro package to artifacts
129
119
uses : actions/upload-artifact@v2
130
120
with :
131
121
name : windows_distro
132
122
path : connect-cli_${{ steps.tag.outputs.result }}_windows_amd64.zip
133
123
retention-days : 5
134
- osx :
135
- runs-on : macos-latest
136
- steps :
137
- - name : Checkout code
138
- uses : actions/checkout@v2
139
- with :
140
- fetch-depth : 0
141
- submodules : true
142
- - name : Set up Python 3.8
143
- uses : actions/setup-python@v2
144
- with :
145
- python-version : 3.8
146
- - name : Install dependencies
147
- run : |
148
- brew install cairo pango gdk-pixbuf libffi git
149
- python -m pip install --upgrade pip
150
- pip install poetry
151
- poetry install
152
- - name : Linting
153
- run : |
154
- poetry run flake8
155
- - name : Testing
156
- run : |
157
- poetry run pytest
158
- - name : Checkout latest reports repository
159
- run : |
160
- poetry run python resources/get_latest_reports.py
161
- - name : Extract tag name
162
- uses : actions/github-script@v3
163
- id : tag
164
- with :
165
- github-token : ${{ secrets.GITHUB_TOKEN }}
166
- result-encoding : string
167
- script : |
168
- return context.payload.ref.replace(/refs\/tags\//, '')
169
- - name : Build osx distro
170
- env :
171
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
172
- run : |
173
- echo version = '${{ steps.tag.outputs.result }}' > connect/.data/version.txt
174
- poetry run pyinstaller resources/ccli.spec
175
- - name : Package osx distro
176
- env :
177
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
178
- run : |
179
- tar cvfz connect-cli_${{ steps.tag.outputs.result }}_osx_amd64.tar.gz dist
180
- - name : Upload distro package to artifacts
181
- uses : actions/upload-artifact@v2
182
- with :
183
- name : osx_distro
184
- path : connect-cli_${{ steps.tag.outputs.result }}_osx_amd64.tar.gz
185
- retention-days : 5
186
124
release :
187
125
runs-on : ubuntu-latest
188
- needs : [linux, windows, osx ]
126
+ needs : [linux, windows]
189
127
steps :
190
128
- name : Checkout code
191
129
uses : actions/checkout@v2
@@ -210,20 +148,6 @@ jobs:
210
148
release_name : Release ${{ steps.tag.outputs.result }}
211
149
draft : false
212
150
prerelease : false
213
- - name : Download linux artifact
214
- uses : actions/download-artifact@v2
215
- with :
216
- name : linux_distro
217
- path : ./
218
- - name : Attach linux distro to release
219
- uses : actions/upload-release-asset@v1
220
- env :
221
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
222
- with :
223
- upload_url : ${{ steps.create_release.outputs.upload_url }}
224
- asset_path : ./connect-cli_${{ steps.tag.outputs.result }}_linux_amd64.tar.gz
225
- asset_name : connect-cli_${{ steps.tag.outputs.result }}_linux_amd64.tar.gz
226
- asset_content_type : application/tar+gzip
227
151
- name : Download windows artifact
228
152
uses : actions/download-artifact@v2
229
153
with :
@@ -238,17 +162,3 @@ jobs:
238
162
asset_path : ./connect-cli_${{ steps.tag.outputs.result }}_windows_amd64.zip
239
163
asset_name : connect-cli_${{ steps.tag.outputs.result }}_windows_amd64.zip
240
164
asset_content_type : application/zip
241
- - name : Download osx artifact
242
- uses : actions/download-artifact@v2
243
- with :
244
- name : osx_distro
245
- path : ./
246
- - name : Attach osx distro to release
247
- uses : actions/upload-release-asset@v1
248
- env :
249
- GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
250
- with :
251
- upload_url : ${{ steps.create_release.outputs.upload_url }}
252
- asset_path : ./connect-cli_${{ steps.tag.outputs.result }}_osx_amd64.tar.gz
253
- asset_name : connect-cli_${{ steps.tag.outputs.result }}_osx_amd64.tar.gz
254
- asset_content_type : application/tar+gzip
0 commit comments