From af3a600f5356e67e5741432d437b91fc2ebac9f0 Mon Sep 17 00:00:00 2001 From: Viv Date: Mon, 6 May 2024 20:10:08 -0400 Subject: [PATCH] test_and_publish_release.yml: add linux build --- .../workflows/test_and_publish_release.yml | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/.github/workflows/test_and_publish_release.yml b/.github/workflows/test_and_publish_release.yml index fc1d37f..022035c 100644 --- a/.github/workflows/test_and_publish_release.yml +++ b/.github/workflows/test_and_publish_release.yml @@ -111,3 +111,50 @@ jobs: # Only publish distribution if workflow is run manually. (This allows the other steps in the workflow to test PRs.) if: github.event_name == 'workflow_dispatch' run: twine upload dist/*.whl dist/*.tar.gz --username __token__ --password ${{ secrets.PYPI_API_TOKEN }} + + build-for-linux: + needs: test-and-publish-release + runs-on: ubuntu-latest + steps: + - name: Checkout tja2fumen (main branch) + uses: actions/checkout@v3 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.8.x' + + - name: Install tja2fumen and its dev dependencies + run: | + pip install -e .[dev] + + - name: Add UPX to the PATH + uses: crazy-max/ghaction-upx@v2 + with: + install-only: true + + - name: Build pyinstaller executable + run: | + pyinstaller src\tja2fumen\__init__.py ` + --name tja2fumen-${{ github.event.inputs.release_version }} ` + --add-data="src\tja2fumen\hp_values.csv;tja2fumen\" ` + --onefile ` + --exclude-module bz2 ` + --exclude-module hashlib ` + --exclude-module lzma ` + --exclude-module socket ` + --exclude-module ssl ` + --exclude-module unicodedata ` + --exclude-module select + + - uses: ncipollo/release-action@v1 + # Only create release if workflow is run manually. (This allows the other steps in the workflow to test PRs.) + if: github.event_name == 'workflow_dispatch' + name: Create release + id: create_release + with: + tag: ${{ github.event.inputs.release_version }} + token: ${{ secrets.GITHUB_TOKEN }} + artifacts: "dist/tja2fumen-${{ github.event.inputs.release_version }}" + allowUpdates: true + draft: true