]> jfr.im git - yt-dlp.git/blame - .github/workflows/build.yml
[cleanup Fix some typos
[yt-dlp.git] / .github / workflows / build.yml
CommitLineData
915f2a92 1name: Build
75b725a7 2on: workflow_dispatch
915f2a92
U
3
4jobs:
93721ed0 5 build_unix:
915f2a92 6 runs-on: ubuntu-latest
915f2a92 7 outputs:
75b725a7 8 version_suffix: ${{ steps.version_suffix.outputs.version_suffix }}
7a5c1cfe 9 ytdlp_version: ${{ steps.bump_version.outputs.ytdlp_version }}
915f2a92 10 upload_url: ${{ steps.create_release.outputs.upload_url }}
4c88ff87 11 sha256_bin: ${{ steps.sha256_bin.outputs.sha256_bin }}
12 sha512_bin: ${{ steps.sha512_bin.outputs.sha512_bin }}
13 sha256_tar: ${{ steps.sha256_tar.outputs.sha256_tar }}
14 sha512_tar: ${{ steps.sha512_tar.outputs.sha512_tar }}
915f2a92
U
15
16 steps:
17 - uses: actions/checkout@v2
4c88ff87 18 with:
19 fetch-depth: 0
915f2a92
U
20 - name: Set up Python
21 uses: actions/setup-python@v2
22 with:
764876a0 23 python-version: '3.8'
915f2a92
U
24 - name: Install packages
25 run: sudo apt-get -y install zip pandoc man
75b725a7 26 - name: Set version suffix
27 id: version_suffix
28 env:
29 PUSH_VERSION_COMMIT: ${{ secrets.PUSH_VERSION_COMMIT }}
30 if: "env.PUSH_VERSION_COMMIT == ''"
31 run: echo ::set-output name=version_suffix::$(date -u +"%H%M%S")
915f2a92
U
32 - name: Bump version
33 id: bump_version
4c88ff87 34 run: |
75b725a7 35 python devscripts/update-version.py ${{ steps.version_suffix.outputs.version_suffix }}
4c88ff87 36 make issuetemplates
75b725a7 37 - name: Push to release
38 id: push_release
4c88ff87 39 run: |
75b725a7 40 git config --global user.name github-actions
41 git config --global user.email github-actions@example.com
4c88ff87 42 git add -u
75b725a7 43 git commit -m "[version] update" -m "Created by: ${{ github.event.sender.login }}" -m ":ci skip all"
44 git push origin --force ${{ github.event.ref }}:release
4c88ff87 45 echo ::set-output name=head_sha::$(git rev-parse HEAD)
75b725a7 46 - name: Update master
47 id: push_master
48 env:
49 PUSH_VERSION_COMMIT: ${{ secrets.PUSH_VERSION_COMMIT }}
50 if: "env.PUSH_VERSION_COMMIT != ''"
51 run: git push origin ${{ github.event.ref }}
4c88ff87 52 - name: Get Changelog
53 id: get_changelog
54 run: |
84999521 55 changelog=$(cat Changelog.md | grep -oPz '(?s)(?<=### ${{ steps.bump_version.outputs.ytdlp_version }}\n{2}).+?(?=\n{2,3}###)') || true
4c88ff87 56 echo "changelog<<EOF" >> $GITHUB_ENV
57 echo "$changelog" >> $GITHUB_ENV
58 echo "EOF" >> $GITHUB_ENV
6e21fdd2 59
60 - name: Build lazy extractors
61 id: lazy_extractors
49a57e70 62 run: python devscripts/make_lazy_extractors.py
915f2a92 63 - name: Run Make
ed64ce59 64 run: make all tar
4c88ff87 65 - name: Get SHA2-256SUMS for yt-dlp
66 id: sha256_bin
67 run: echo "::set-output name=sha256_bin::$(sha256sum yt-dlp | awk '{print $1}')"
68 - name: Get SHA2-256SUMS for yt-dlp.tar.gz
69 id: sha256_tar
70 run: echo "::set-output name=sha256_tar::$(sha256sum yt-dlp.tar.gz | awk '{print $1}')"
71 - name: Get SHA2-512SUMS for yt-dlp
72 id: sha512_bin
73 run: echo "::set-output name=sha512_bin::$(sha512sum yt-dlp | awk '{print $1}')"
74 - name: Get SHA2-512SUMS for yt-dlp.tar.gz
75 id: sha512_tar
76 run: echo "::set-output name=sha512_tar::$(sha512sum yt-dlp.tar.gz | awk '{print $1}')"
733d8e8f 77
a5de4099 78 - name: Install dependencies for pypi
79 env:
80 PYPI_TOKEN: ${{ secrets.PYPI_TOKEN }}
81 if: "env.PYPI_TOKEN != ''"
82 run: |
83 python -m pip install --upgrade pip
84 pip install setuptools wheel twine
85 - name: Build and publish on pypi
86 env:
87 TWINE_USERNAME: __token__
88 TWINE_PASSWORD: ${{ secrets.PYPI_TOKEN }}
89 if: "env.TWINE_PASSWORD != ''"
90 run: |
91 rm -rf dist/*
92 python setup.py sdist bdist_wheel
93 twine upload dist/*
733d8e8f 94
4c88ff87 95 - name: Install SSH private key
96 env:
97 BREW_TOKEN: ${{ secrets.BREW_TOKEN }}
98 if: "env.BREW_TOKEN != ''"
99 uses: webfactory/ssh-agent@v0.5.3
100 with:
101 ssh-private-key: ${{ env.BREW_TOKEN }}
102 - name: Update Homebrew Formulae
103 env:
104 BREW_TOKEN: ${{ secrets.BREW_TOKEN }}
105 if: "env.BREW_TOKEN != ''"
106 run: |
107 git clone git@github.com:yt-dlp/homebrew-taps taps/
108 python3 devscripts/update-formulae.py taps/Formula/yt-dlp.rb "${{ steps.bump_version.outputs.ytdlp_version }}"
109 git -C taps/ config user.name github-actions
110 git -C taps/ config user.email github-actions@example.com
111 git -C taps/ commit -am 'yt-dlp: ${{ steps.bump_version.outputs.ytdlp_version }}'
112 git -C taps/ push
733d8e8f 113
915f2a92
U
114 - name: Create Release
115 id: create_release
116 uses: actions/create-release@v1
117 env:
118 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
119 with:
7a5c1cfe
P
120 tag_name: ${{ steps.bump_version.outputs.ytdlp_version }}
121 release_name: yt-dlp ${{ steps.bump_version.outputs.ytdlp_version }}
a804f6d8 122 commitish: ${{ steps.push_release.outputs.head_sha }}
915f2a92 123 body: |
0930b11f 124 #### [A description of the various files]((https://github.com/yt-dlp/yt-dlp#release-files)) are in the README
49a57e70 125
126 ---
127
0930b11f 128 ### Changelog:
129 ${{ env.changelog }}
915f2a92
U
130 draft: false
131 prerelease: false
7a5c1cfe 132 - name: Upload yt-dlp Unix binary
14b17a55 133 id: upload-release-asset
915f2a92
U
134 uses: actions/upload-release-asset@v1
135 env:
136 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
137 with:
138 upload_url: ${{ steps.create_release.outputs.upload_url }}
7a5c1cfe
P
139 asset_path: ./yt-dlp
140 asset_name: yt-dlp
915f2a92 141 asset_content_type: application/octet-stream
ed64ce59 142 - name: Upload Source tar
143 uses: actions/upload-release-asset@v1
144 env:
145 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
146 with:
147 upload_url: ${{ steps.create_release.outputs.upload_url }}
148 asset_path: ./yt-dlp.tar.gz
149 asset_name: yt-dlp.tar.gz
150 asset_content_type: application/gzip
915f2a92 151
0e5927ee
R
152 build_macos:
153 runs-on: macos-11
154 needs: build_unix
0e5927ee
R
155 outputs:
156 sha256_macos: ${{ steps.sha256_macos.outputs.sha256_macos }}
157 sha512_macos: ${{ steps.sha512_macos.outputs.sha512_macos }}
158 sha256_macos_zip: ${{ steps.sha256_macos_zip.outputs.sha256_macos_zip }}
159 sha512_macos_zip: ${{ steps.sha512_macos_zip.outputs.sha512_macos_zip }}
160
161 steps:
162 - uses: actions/checkout@v2
163 # In order to create a universal2 application, the version of python3 in /usr/bin has to be used
13ab5fa5 164 # Pyinstaller is pinned to 4.5.1 because the builds are failing in 4.6, 4.7
0e5927ee
R
165 - name: Install Requirements
166 run: |
167 brew install coreutils
13ab5fa5 168 /usr/bin/python3 -m pip install -U --user pip Pyinstaller==4.5.1 mutagen pycryptodomex websockets
0e5927ee
R
169 - name: Bump version
170 id: bump_version
733d8e8f 171 run: /usr/bin/python3 devscripts/update-version.py
6e21fdd2 172 - name: Build lazy extractors
173 id: lazy_extractors
49a57e70 174 run: /usr/bin/python3 devscripts/make_lazy_extractors.py
0e5927ee 175 - name: Run PyInstaller Script
733d8e8f 176 run: /usr/bin/python3 pyinst.py --target-architecture universal2 --onefile
0e5927ee
R
177 - name: Upload yt-dlp MacOS binary
178 id: upload-release-macos
179 uses: actions/upload-release-asset@v1
180 env:
181 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
182 with:
183 upload_url: ${{ needs.build_unix.outputs.upload_url }}
184 asset_path: ./dist/yt-dlp_macos
185 asset_name: yt-dlp_macos
186 asset_content_type: application/octet-stream
187 - name: Get SHA2-256SUMS for yt-dlp_macos
188 id: sha256_macos
189 run: echo "::set-output name=sha256_macos::$(sha256sum dist/yt-dlp_macos | awk '{print $1}')"
190 - name: Get SHA2-512SUMS for yt-dlp_macos
191 id: sha512_macos
192 run: echo "::set-output name=sha512_macos::$(sha512sum dist/yt-dlp_macos | awk '{print $1}')"
193
194 - name: Run PyInstaller Script with --onedir
733d8e8f 195 run: /usr/bin/python3 pyinst.py --target-architecture universal2 --onedir
0e5927ee
R
196 - uses: papeloto/action-zip@v1
197 with:
198 files: ./dist/yt-dlp_macos
199 dest: ./dist/yt-dlp_macos.zip
200 - name: Upload yt-dlp MacOS onedir
201 id: upload-release-macos-zip
202 uses: actions/upload-release-asset@v1
203 env:
204 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
205 with:
206 upload_url: ${{ needs.build_unix.outputs.upload_url }}
207 asset_path: ./dist/yt-dlp_macos.zip
208 asset_name: yt-dlp_macos.zip
209 asset_content_type: application/zip
210 - name: Get SHA2-256SUMS for yt-dlp_macos.zip
211 id: sha256_macos_zip
212 run: echo "::set-output name=sha256_macos_zip::$(sha256sum dist/yt-dlp_macos.zip | awk '{print $1}')"
213 - name: Get SHA2-512SUMS for yt-dlp_macos
214 id: sha512_macos_zip
215 run: echo "::set-output name=sha512_macos_zip::$(sha512sum dist/yt-dlp_macos.zip | awk '{print $1}')"
216
7e8772bf 217 build_windows:
915f2a92 218 runs-on: windows-latest
14b17a55 219 needs: build_unix
47930b73 220 outputs:
4c88ff87 221 sha256_win: ${{ steps.sha256_win.outputs.sha256_win }}
222 sha512_win: ${{ steps.sha512_win.outputs.sha512_win }}
386cdfdb 223 sha256_py2exe: ${{ steps.sha256_py2exe.outputs.sha256_py2exe }}
224 sha512_py2exe: ${{ steps.sha512_py2exe.outputs.sha512_py2exe }}
4c88ff87 225 sha256_win_zip: ${{ steps.sha256_win_zip.outputs.sha256_win_zip }}
226 sha512_win_zip: ${{ steps.sha512_win_zip.outputs.sha512_win_zip }}
47930b73 227
915f2a92
U
228 steps:
229 - uses: actions/checkout@v2
0181adef 230 # 3.8 is used for Win7 support
231 - name: Set up Python 3.8
915f2a92
U
232 uses: actions/setup-python@v2
233 with:
da8fb75d 234 python-version: '3.8'
915f2a92 235 - name: Install Requirements
476febeb 236 # Custom pyinstaller built with https://github.com/yt-dlp/pyinstaller-builds
0e5927ee 237 run: |
386cdfdb 238 python -m pip install --upgrade pip setuptools wheel py2exe
0e5927ee 239 pip install "https://yt-dlp.github.io/Pyinstaller-Builds/x86_64/pyinstaller-4.5.1-py3-none-any.whl" mutagen pycryptodomex websockets
915f2a92 240 - name: Bump version
e38df8f9 241 id: bump_version
75b725a7 242 env:
243 version_suffix: ${{ needs.build_unix.outputs.version_suffix }}
244 run: python devscripts/update-version.py ${{ env.version_suffix }}
6e21fdd2 245 - name: Build lazy extractors
246 id: lazy_extractors
49a57e70 247 run: python devscripts/make_lazy_extractors.py
915f2a92 248 - name: Run PyInstaller Script
5d535b4a 249 run: python pyinst.py
7a5c1cfe 250 - name: Upload yt-dlp.exe Windows binary
915f2a92
U
251 id: upload-release-windows
252 uses: actions/upload-release-asset@v1
253 env:
254 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
255 with:
256 upload_url: ${{ needs.build_unix.outputs.upload_url }}
7a5c1cfe
P
257 asset_path: ./dist/yt-dlp.exe
258 asset_name: yt-dlp.exe
98918847 259 asset_content_type: application/vnd.microsoft.portable-executable
7a5c1cfe 260 - name: Get SHA2-256SUMS for yt-dlp.exe
4c88ff87 261 id: sha256_win
262 run: echo "::set-output name=sha256_win::$((Get-FileHash dist\yt-dlp.exe -Algorithm SHA256).Hash.ToLower())"
beb982be 263 - name: Get SHA2-512SUMS for yt-dlp.exe
4c88ff87 264 id: sha512_win
265 run: echo "::set-output name=sha512_win::$((Get-FileHash dist\yt-dlp.exe -Algorithm SHA512).Hash.ToLower())"
733d8e8f 266
4c88ff87 267 - name: Run PyInstaller Script with --onedir
5d535b4a 268 run: python pyinst.py --onedir
4c88ff87 269 - uses: papeloto/action-zip@v1
270 with:
271 files: ./dist/yt-dlp
0e5927ee
R
272 dest: ./dist/yt-dlp_win.zip
273 - name: Upload yt-dlp Windows onedir
4c88ff87 274 id: upload-release-windows-zip
275 uses: actions/upload-release-asset@v1
276 env:
277 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
278 with:
279 upload_url: ${{ needs.build_unix.outputs.upload_url }}
0e5927ee
R
280 asset_path: ./dist/yt-dlp_win.zip
281 asset_name: yt-dlp_win.zip
4c88ff87 282 asset_content_type: application/zip
0e5927ee 283 - name: Get SHA2-256SUMS for yt-dlp_win.zip
4c88ff87 284 id: sha256_win_zip
0e5927ee
R
285 run: echo "::set-output name=sha256_win_zip::$((Get-FileHash dist\yt-dlp_win.zip -Algorithm SHA256).Hash.ToLower())"
286 - name: Get SHA2-512SUMS for yt-dlp_win.zip
4c88ff87 287 id: sha512_win_zip
0e5927ee 288 run: echo "::set-output name=sha512_win_zip::$((Get-FileHash dist\yt-dlp_win.zip -Algorithm SHA512).Hash.ToLower())"
915f2a92 289
386cdfdb 290 - name: Run py2exe Script
291 run: python setup.py py2exe
292 - name: Upload yt-dlp_min.exe Windows binary
293 id: upload-release-windows-py2exe
294 uses: actions/upload-release-asset@v1
295 env:
296 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
297 with:
298 upload_url: ${{ needs.build_unix.outputs.upload_url }}
299 asset_path: ./dist/yt-dlp.exe
300 asset_name: yt-dlp_min.exe
301 asset_content_type: application/vnd.microsoft.portable-executable
302 - name: Get SHA2-256SUMS for yt-dlp_min.exe
303 id: sha256_py2exe
304 run: echo "::set-output name=sha256_py2exe::$((Get-FileHash dist\yt-dlp.exe -Algorithm SHA256).Hash.ToLower())"
305 - name: Get SHA2-512SUMS for yt-dlp_min.exe
306 id: sha512_py2exe
307 run: echo "::set-output name=sha512_py2exe::$((Get-FileHash dist\yt-dlp.exe -Algorithm SHA512).Hash.ToLower())"
308
915f2a92 309 build_windows32:
915f2a92 310 runs-on: windows-latest
0e5927ee 311 needs: build_unix
915f2a92 312
47930b73 313 outputs:
4c88ff87 314 sha256_win32: ${{ steps.sha256_win32.outputs.sha256_win32 }}
315 sha512_win32: ${{ steps.sha512_win32.outputs.sha512_win32 }}
47930b73 316
915f2a92
U
317 steps:
318 - uses: actions/checkout@v2
0181adef 319 # 3.7 is used for Vista support. See https://github.com/yt-dlp/yt-dlp/issues/390
320 - name: Set up Python 3.7 32-Bit
915f2a92
U
321 uses: actions/setup-python@v2
322 with:
0181adef 323 python-version: '3.7'
915f2a92 324 architecture: 'x86'
0181adef 325 - name: Install Requirements
0e5927ee
R
326 run: |
327 python -m pip install --upgrade pip setuptools wheel
328 pip install "https://yt-dlp.github.io/Pyinstaller-Builds/i686/pyinstaller-4.5.1-py3-none-any.whl" mutagen pycryptodomex websockets
915f2a92 329 - name: Bump version
e38df8f9 330 id: bump_version
75b725a7 331 env:
332 version_suffix: ${{ needs.build_unix.outputs.version_suffix }}
333 run: python devscripts/update-version.py ${{ env.version_suffix }}
6e21fdd2 334 - name: Build lazy extractors
335 id: lazy_extractors
49a57e70 336 run: python devscripts/make_lazy_extractors.py
915f2a92 337 - name: Run PyInstaller Script for 32 Bit
5d535b4a 338 run: python pyinst.py
7a5c1cfe 339 - name: Upload Executable yt-dlp_x86.exe
915f2a92
U
340 id: upload-release-windows32
341 uses: actions/upload-release-asset@v1
342 env:
343 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
344 with:
345 upload_url: ${{ needs.build_unix.outputs.upload_url }}
7a5c1cfe
P
346 asset_path: ./dist/yt-dlp_x86.exe
347 asset_name: yt-dlp_x86.exe
98918847 348 asset_content_type: application/vnd.microsoft.portable-executable
7a5c1cfe 349 - name: Get SHA2-256SUMS for yt-dlp_x86.exe
4c88ff87 350 id: sha256_win32
351 run: echo "::set-output name=sha256_win32::$((Get-FileHash dist\yt-dlp_x86.exe -Algorithm SHA256).Hash.ToLower())"
beb982be 352 - name: Get SHA2-512SUMS for yt-dlp_x86.exe
4c88ff87 353 id: sha512_win32
354 run: echo "::set-output name=sha512_win32::$((Get-FileHash dist\yt-dlp_x86.exe -Algorithm SHA512).Hash.ToLower())"
14b17a55 355
356 finish:
357 runs-on: ubuntu-latest
13ab5fa5 358 needs: [build_unix, build_windows, build_windows32, build_macos]
14b17a55 359
360 steps:
915f2a92
U
361 - name: Make SHA2-256SUMS file
362 env:
733d8e8f 363 SHA256_BIN: ${{ needs.build_unix.outputs.sha256_bin }}
364 SHA256_TAR: ${{ needs.build_unix.outputs.sha256_tar }}
4c88ff87 365 SHA256_WIN: ${{ needs.build_windows.outputs.sha256_win }}
386cdfdb 366 SHA256_PY2EXE: ${{ needs.build_windows.outputs.sha256_py2exe }}
4c88ff87 367 SHA256_WIN_ZIP: ${{ needs.build_windows.outputs.sha256_win_zip }}
368 SHA256_WIN32: ${{ needs.build_windows32.outputs.sha256_win32 }}
0e5927ee
R
369 SHA256_MACOS: ${{ needs.build_macos.outputs.sha256_macos }}
370 SHA256_MACOS_ZIP: ${{ needs.build_macos.outputs.sha256_macos_zip }}
915f2a92 371 run: |
733d8e8f 372 echo "${{ env.SHA256_BIN }} yt-dlp" >> SHA2-256SUMS
373 echo "${{ env.SHA256_TAR }} yt-dlp.tar.gz" >> SHA2-256SUMS
4c88ff87 374 echo "${{ env.SHA256_WIN }} yt-dlp.exe" >> SHA2-256SUMS
386cdfdb 375 echo "${{ env.SHA256_PY2EXE }} yt-dlp_min.exe" >> SHA2-256SUMS
4c88ff87 376 echo "${{ env.SHA256_WIN32 }} yt-dlp_x86.exe" >> SHA2-256SUMS
733d8e8f 377 echo "${{ env.SHA256_WIN_ZIP }} yt-dlp_win.zip" >> SHA2-256SUMS
13ab5fa5 378 echo "${{ env.SHA256_MACOS }} yt-dlp_macos" >> SHA2-256SUMS
379 echo "${{ env.SHA256_MACOS_ZIP }} yt-dlp_macos.zip" >> SHA2-256SUMS
da6403d3
TOH
380 - name: Upload 256SUMS file
381 id: upload-sums
382 uses: actions/upload-release-asset@v1
383 env:
384 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
385 with:
386 upload_url: ${{ needs.build_unix.outputs.upload_url }}
387 asset_path: ./SHA2-256SUMS
388 asset_name: SHA2-256SUMS
389 asset_content_type: text/plain
beb982be
NA
390 - name: Make SHA2-512SUMS file
391 env:
733d8e8f 392 SHA512_BIN: ${{ needs.build_unix.outputs.sha512_bin }}
393 SHA512_TAR: ${{ needs.build_unix.outputs.sha512_tar }}
4c88ff87 394 SHA512_WIN: ${{ needs.build_windows.outputs.sha512_win }}
386cdfdb 395 SHA512_PY2EXE: ${{ needs.build_windows.outputs.sha512_py2exe }}
4c88ff87 396 SHA512_WIN_ZIP: ${{ needs.build_windows.outputs.sha512_win_zip }}
397 SHA512_WIN32: ${{ needs.build_windows32.outputs.sha512_win32 }}
0e5927ee
R
398 SHA512_MACOS: ${{ needs.build_macos.outputs.sha512_macos }}
399 SHA512_MACOS_ZIP: ${{ needs.build_macos.outputs.sha512_macos_zip }}
beb982be 400 run: |
733d8e8f 401 echo "${{ env.SHA512_BIN }} yt-dlp" >> SHA2-512SUMS
402 echo "${{ env.SHA512_TAR }} yt-dlp.tar.gz" >> SHA2-512SUMS
4c88ff87 403 echo "${{ env.SHA512_WIN }} yt-dlp.exe" >> SHA2-512SUMS
733d8e8f 404 echo "${{ env.SHA512_WIN_ZIP }} yt-dlp_win.zip" >> SHA2-512SUMS
386cdfdb 405 echo "${{ env.SHA512_PY2EXE }} yt-dlp_min.exe" >> SHA2-512SUMS
4c88ff87 406 echo "${{ env.SHA512_WIN32 }} yt-dlp_x86.exe" >> SHA2-512SUMS
13ab5fa5 407 echo "${{ env.SHA512_MACOS }} yt-dlp_macos" >> SHA2-512SUMS
408 echo "${{ env.SHA512_MACOS_ZIP }} yt-dlp_macos.zip" >> SHA2-512SUMS
beb982be
NA
409 - name: Upload 512SUMS file
410 id: upload-512sums
411 uses: actions/upload-release-asset@v1
412 env:
413 GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
414 with:
415 upload_url: ${{ needs.build_unix.outputs.upload_url }}
416 asset_path: ./SHA2-512SUMS
417 asset_name: SHA2-512SUMS
418 asset_content_type: text/plain