mirror of
https://github.com/derrod/legendary.git
synced 2026-04-16 09:09:05 +00:00
* update action steps versions * added support for multiple architectures * switch to zipapp building on Linux * drop support for deb package CI
95 lines
2 KiB
YAML
95 lines
2 KiB
YAML
name: Python
|
|
|
|
on:
|
|
push:
|
|
branches: [ '*' ]
|
|
pull_request:
|
|
branches: [ '*' ]
|
|
|
|
jobs:
|
|
pyinstaller:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [
|
|
'windows-2025', 'windows-11-arm',
|
|
'macos-15-intel', 'macos-15'
|
|
]
|
|
fail-fast: false
|
|
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
|
|
- name: Dependencies
|
|
run: pip3 install --requirement requirements.txt
|
|
|
|
- name: Build tools
|
|
run: pip3 install --upgrade
|
|
setuptools
|
|
pyinstaller
|
|
|
|
- name: Optional dependencies (WebView)
|
|
run: pip3 install --upgrade pywebview
|
|
if: runner.os != 'macOS'
|
|
|
|
- name: Set strip option on non-Windows
|
|
id: strip
|
|
run: echo "option=--strip" >> $GITHUB_OUTPUT
|
|
if: runner.os != 'Windows'
|
|
|
|
- name: Build
|
|
working-directory: legendary
|
|
run: pyinstaller
|
|
--onefile
|
|
--name legendary
|
|
${{ steps.strip.outputs.option }}
|
|
-i ../assets/windows_icon.ico
|
|
cli.py
|
|
env:
|
|
PYTHONOPTIMIZE: 1
|
|
|
|
- uses: actions/upload-artifact@v7
|
|
with:
|
|
name: ${{ runner.os }}-${{ runner.arch }}-package
|
|
path: legendary/dist/*
|
|
|
|
zipapp:
|
|
runs-on: ${{ matrix.os }}
|
|
strategy:
|
|
matrix:
|
|
os: [
|
|
'ubuntu-24.04', 'ubuntu-24.04-arm'
|
|
]
|
|
fail-fast: false
|
|
|
|
steps:
|
|
- uses: actions/checkout@v6
|
|
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: '3.13'
|
|
|
|
- run: mkdir -p build dist
|
|
|
|
- name: Dependencies
|
|
run: pip3 install --requirement requirements.txt --target build
|
|
|
|
- run: cp -r legendary build
|
|
- run: cp zipapp_main.py build/__main__.py
|
|
|
|
- name: Build
|
|
run: python -m zipapp
|
|
--output dist/legendary
|
|
--python "/usr/bin/env python3"
|
|
--compress
|
|
build
|
|
|
|
- uses: actions/upload-artifact@v7
|
|
with:
|
|
name: ${{ runner.os }}-${{ runner.arch }}-package
|
|
path: dist/*
|