Skip to content

Commit

Permalink
Add Linux build for self-contained executable (#76)
Browse files Browse the repository at this point in the history
  • Loading branch information
vivaria authored May 7, 2024
1 parent 80d211b commit 6c38eb7
Showing 1 changed file with 47 additions and 0 deletions.
47 changes: 47 additions & 0 deletions .github/workflows/test_and_publish_release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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

0 comments on commit 6c38eb7

Please sign in to comment.