在夜晚关卡不推荐选择咖啡豆 #51
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: "Build for PR" | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
on: | |
pull_request: | |
jobs: | |
windows: | |
runs-on: windows-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python_version: | |
- "3.11" | |
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 | |
# 使用pyinstaller构建 | |
- name: Build pypvz with pyinstaller | |
run: | | |
pyinstaller -F pypvz.py ` | |
-n pypvz-with-python${{ matrix.python_version }}-pyinstaller-x64.exe ` | |
--distpath ./out ` | |
--noconsole ` | |
--add-data="resources;./resources" ` | |
--add-data="pypvz-exec-logo.png;./pypvz-exec-logo.png" ` | |
-i ./pypvz.ico | |
- name: Release the version built by pyinstaller | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
tag: Dev.Version.Built.with.Pyinstaller | |
artifacts: ./out/*pyinstaller*.exe | |
token: ${{ secrets.GITHUB_TOKEN }} | |
# 使用Nuitka构建 | |
- name: Show nuitka version | |
run: | | |
Get-ChildItem env: | |
python -m nuitka --version | |
- name: Build pypvz with Nuitka | |
run: | | |
echo y | python -m nuitka --standalone ` | |
--onefile ` | |
--show-progress ` | |
--show-memory ` | |
--output-dir=out ` | |
--windows-icon-from-ico=pypvz.ico ` | |
--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\libjpeg-9.dll=libjpeg-9.dll ` | |
--include-data-dir=resources=resources ` | |
--windows-disable-console ` | |
-o pypvz-with-python${{ matrix.python_version }}-nuitka-windows-x64.exe ` | |
pypvz.py | |
- name: Release the version built by nuitka | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
tag: Dev | |
artifacts: ./out/*nuitka*.exe | |
token: ${{ secrets.GITHUB_TOKEN }} | |
linux: | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
python_version: | |
- "3.11" | |
name: Ubuntu Python ${{ matrix.python_version }} | |
steps: | |
- name: 🛎️ Checkout | |
uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- name: 🐍 Use Python ${{ matrix.python_version }} | |
uses: actions/setup-python@v2 | |
with: | |
python-version: ${{ matrix.python_version }} | |
- name: 🧳 Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install patchelf gdb ccache libfuse2 zstd tar | |
python -m pip install --no-python-version-warning --disable-pip-version-check zstandard appdirs ordered-set tqdm Jinja2 | |
python -m pip install --no-python-version-warning --disable-pip-version-check nuitka | |
python -m pip install --no-python-version-warning --disable-pip-version-check pygame | |
# 使用Nuitka构建 | |
- name: Show nuitka version | |
run: | | |
env | |
python -m nuitka --version | |
- name: Build pypvz with Nuitka | |
run: | | |
yes | python -m nuitka \ | |
--onefile \ | |
--standalone \ | |
--include-data-dir=resources=resources \ | |
--linux-onefile-icon=pypvz.png \ | |
--static-libpython=no \ | |
--remove-output \ | |
-o pypvz-with-python${{ matrix.python_version }}-linux-x86_64.bin \ | |
pypvz.py | |
- name: Release the version built by nuitka | |
uses: ncipollo/release-action@v1 | |
with: | |
allowUpdates: true | |
tag: Dev | |
artifacts: ./pypvz*-x86_64.* | |
token: ${{ secrets.GITHUB_TOKEN }} |