chkbit/.github/workflows/pyinstaller.yml
Christian Zangl 57e3a81419
matrix
2024-01-13 17:54:10 +01:00

60 lines
1.7 KiB
YAML

name: pyinstaller
on: [push]
jobs:
build:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: prep
shell: bash
run: |
python -m pip install --upgrade pip
python -m pip install pipenv pyinstaller==6.3.0
pipenv install
rm -rf build dist
- name: build
shell: bash
run: |
echo "RUNNER_OS: $RUNNER_OS"
# get path to venv site-packages (for blake3)
pipenv run python -c "import site; print(site.getsitepackages())"
SITEPKG=$(pipenv run python -c "import site; print(site.getsitepackages()[-1])")
pipenv run pyinstaller run.py --hidden-import chkbit --hidden-import chkbit_cli --onefile --name chkbit --console --paths $SITEPKG
cat build/chkbit/warn-chkbit.txt
cd dist; ls -l
if [ "$RUNNER_OS" == "Windows" ]; then
7z a -tzip chkbit.zip chkbit.exe
else
tar -czf chkbit.tar.gz chkbit
fi
- name: artifact
uses: actions/upload-artifact@v3
if: runner.os == 'Linux'
with:
name: chkbit-linux_amd64.tar.gz
path: dist/chkbit.tar.gz
- name: artifact
uses: actions/upload-artifact@v3
if: runner.os == 'macOS'
with:
name: chkbit-macos_amd64.tar.gz
path: dist/chkbit.tar.gz
- name: artifact
uses: actions/upload-artifact@v3
if: runner.os == 'Windows'
with:
name: chkbit-windows_amd64.zip
path: dist/chkbit.zip