66 lines
2.9 KiB
YAML
66 lines
2.9 KiB
YAML
name: Build
|
|
|
|
concurrency:
|
|
group: ${{ github.workflow }}-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
on:
|
|
pull_request:
|
|
push:
|
|
branches:
|
|
- master
|
|
|
|
jobs:
|
|
windows:
|
|
runs-on: windows-latest
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
python_version:
|
|
- '3.10'
|
|
name: Windows Python ${{ matrix.python_version }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
|
|
- uses: ilammy/msvc-dev-cmd@v1
|
|
|
|
- name: Use Python ${{ matrix.python_version }}
|
|
uses: actions/setup-python@v2
|
|
with:
|
|
python-version: ${{ matrix.python_version }}
|
|
|
|
- name: 🧳 Install dependencies
|
|
run: |
|
|
echo y | pip install --no-python-version-warning --disable-pip-version-check pyinstaller
|
|
echo y | pip install --no-python-version-warning --disable-pip-version-check nuitka
|
|
echo y | pip install --no-python-version-warning --disable-pip-version-check zstandard
|
|
echo y | pip install --no-python-version-warning --disable-pip-version-check pygame
|
|
echo y | pip install --no-python-version-warning --disable-pip-version-check ordered-set
|
|
|
|
- name: Show nuitka version
|
|
run: |
|
|
Get-ChildItem env:
|
|
python -m nuitka --version
|
|
|
|
- name: Build pypvz package
|
|
run: |
|
|
pyinstaller -F main.py -n pypvz-with-python${{ matrix.python_version }}-pyinstaller-x64.exe --distpath ./out
|
|
echo y | python -m nuitka --standalone --onefile --show-progress --show-memory --output-dir=out --windows-icon-from-ico=pypvz.ico --include-data-dir=resources=resources --include-data-file=c:\hostedtoolcache\windows\python\${{ matrix.python_version }}*\x64\lib\site-packages\pygame\libogg-0.dll=libogg-0.dll --include-data-file=c:\hostedtoolcache\windows\python\${{ matrix.python_version }}*\x64\lib\site-packages\pygame\libopus-0.dll=libopus-0.dll --include-data-file=c:\hostedtoolcache\windows\python\${{ matrix.python_version }}*\x64\lib\site-packages\pygame\libopusfile-0.dll=libopusfile-0.dll --include-data-file=c:\hostedtoolcache\windows\python\${{ matrix.python_version }}*\x64\lib\site-packages\pygame\libvorbisfile-3.dll=libvorbisfile-3.dll --include-data-file=c:\hostedtoolcache\windows\python\${{ matrix.python_version }}*\x64\lib\site-packages\pygame\libvorbis-0.dll=libvorbis-0.dll --windows-disable-console main.py
|
|
mv ./out/main.exe ./out/pypvz-with-python${{ matrix.python_version }}-nuitka-msvc-x64.exe
|
|
|
|
# artifact压缩包处上传包含exe和运行环境的文件夹
|
|
- name: "Upload binaries"
|
|
uses: actions/upload-artifact@v2
|
|
with:
|
|
name: artifact-python-${{ matrix.python_version }}
|
|
path: ./out/*.dist
|
|
|
|
# release处发布单文件可执行版exe
|
|
- name: Release
|
|
uses: ncipollo/release-action@v1
|
|
with:
|
|
allowUpdates: true
|
|
tag: Current
|
|
artifacts: ./out/*.exe
|
|
token: ${{ secrets.GITHUB_TOKEN }}
|