legendary/.github/workflows/python.yml

89 lines
1.9 KiB
YAML
Raw Permalink Normal View History

name: Python
on:
push:
branches: [ '*' ]
pull_request:
branches: [ '*' ]
jobs:
pyinstaller:
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: ['ubuntu-24.04', 'windows-latest', 'macos-13']
fail-fast: false
max-parallel: 3
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: '3.9'
- name: Legendary dependencies and build tools
run: pip3 install --upgrade
2022-11-06 16:17:53 +00:00
setuptools
pyinstaller
requests
2023-06-18 03:08:56 +00:00
filelock
- name: Optional dependencies (WebView)
run: pip3 install --upgrade pywebview
if: runner.os != 'macOS'
- name: Set strip option on non-Windows
id: strip
run: echo ::set-output name=option::--strip
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@v4
with:
name: ${{ runner.os }}-package
path: legendary/dist/*
deb:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
- name: Dependencies
run: |
sudo apt install ruby
sudo gem install fpm
- name: Build
run: fpm
--input-type python
--output-type deb
--python-package-name-prefix python3
--deb-suggests python3-webview
--maintainer "Rodney <rodney@rodney.io>"
--category python
--depends "python3 >= 3.9"
setup.py
- name: Os version
id: os_version
run: |
source /etc/os-release
echo ::set-output name=version::$NAME-$VERSION_ID
- uses: actions/upload-artifact@v4
with:
name: ${{ steps.os_version.outputs.version }}-deb-package
path: ./*.deb