1+ name : release
2+ on :
3+ push :
4+ tags :
5+ - " v[0-9]+.[0-9]+.[0-9]+"
6+ env :
7+ PYTHON_VERSION : " 3.11"
8+ PROGRAM_ENTRYPOINT : ' src/app.py'
9+ EXECUTABLE_NAME : ' hackernewsd'
10+ BUILD_OUTPUT_PATH : ' dist'
11+
12+ jobs :
13+ build-windows :
14+ runs-on : windows-2019
15+ steps :
16+ - name : Checkout
17+ uses : actions/checkout@v1
18+ - name : Install Python
19+ uses : actions/setup-python@v1
20+ with :
21+ python-version : ${{ env.PYTHON_VERSION }}
22+ architecture : ' x64'
23+ - name : Install requirements
24+ run : pip install -r requirements.txt
25+ - name : Run PyInstaller
26+ run : pyinstaller --noconsole --onefile --name=${{ env.EXECUTABLE_NAME }} ${{ env.PROGRAM_ENTRYPOINT }}
27+ # - uses: actions/upload-artifact@v2
28+ # with:
29+ # name: Windows_qwiklabs
30+ # path: dist/qwiklab_badge_checker.exe
31+
32+ - name : ZIP release artifact Windows
33+ run : echo $(pwd); echo $(find . -type d); cd ${{ env.BUILD_OUTPUT_PATH }}; zip -r ../${{ env.EXECUTABLE_NAME }}-${{ steps.version.outputs.version }}-win64.zip ./
34+
35+ - name : GitHub release
36+ uses : actions/create-release@v1
37+ id : release
38+ env :
39+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
40+ with :
41+ release_name : ${{ steps.version.outputs.version }}
42+ tag_name : ${{ github.ref }}
43+ body : ' '
44+ draft : false
45+ prerelease : false
46+
47+ - name : GitHub release assets Windows
48+ uses : actions/upload-release-asset@v1
49+ id : release_assets_2
50+ env :
51+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
52+ with :
53+ upload_url : ${{ steps.release.outputs.upload_url }}
54+ asset_path : ${{ env.BUILD_OUTPUT_PATH }}/../${{ env.EXECUTABLE_NAME }}-${{ steps.version.outputs.version }}-win64.zip
55+ asset_name : ${{ env.EXECUTABLE_NAME }}-${{ steps.version.outputs.version }}-win64.zip
56+ asset_content_type : application/zip
0 commit comments