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 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: | 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 }}-windows-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 }}