mirror of
https://github.com/NinjaCheetah/NUSGet.git
synced 2025-04-26 07:31:00 -04:00
102 lines
3.1 KiB
YAML
102 lines
3.1 KiB
YAML
# This workflow will install Python dependencies, run tests and lint with a single version of Python
|
|
# For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python
|
|
|
|
name: Python application
|
|
|
|
on:
|
|
push:
|
|
branches: [ "main" ]
|
|
pull_request:
|
|
branches: [ "main" ]
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
jobs:
|
|
build-linux:
|
|
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Install ccache for Nuitka
|
|
run: sudo apt update && sudo apt install -y ccache libicu70
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install Dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r requirements.txt
|
|
- name: Build Package
|
|
run: |
|
|
pyside6-project build
|
|
nuitka3 --show-progress --include-data-dir=data=data --include-data-dir=resources=resources --assume-yes-for-downloads --onefile --plugin-enable=pyside6 NUSGet.py
|
|
- name: Prepare Package for Upload
|
|
run: |
|
|
mv NUSGet.bin ~/NUSGet.bin
|
|
cd ~
|
|
tar cvf NUSGet.tar NUSGet.bin
|
|
- name: Upload Package
|
|
uses: actions/upload-artifact@v4.3.0
|
|
with:
|
|
path: ~/NUSGet.tar
|
|
name: NUSGet-linux-bin
|
|
|
|
build-macos:
|
|
|
|
runs-on: macos-12
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install Dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r requirements.txt
|
|
- name: Build Package
|
|
run: |
|
|
pyside6-project build
|
|
nuitka3 --show-progress --include-data-dir=data=data --include-data-dir=resources=resources --assume-yes-for-downloads --standalone --plugin-enable=pyside6 NUSGet.py --macos-create-app-bundle --macos-app-icon=resources/icon.png
|
|
- name: Prepare Package for Upload
|
|
run: |
|
|
mv NUSGet.app ~/NUSGet.app
|
|
cd ~
|
|
tar cvf NUSGet.tar NUSGet.app
|
|
- name: Upload Package
|
|
uses: actions/upload-artifact@v4.3.0
|
|
with:
|
|
path: ~/NUSGet.tar
|
|
name: NUSGet-macos-bin
|
|
|
|
build-windows:
|
|
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: Enable Developer Command Prompt
|
|
uses: ilammy/msvc-dev-cmd@v1.13.0
|
|
- name: Set up Python 3.11
|
|
uses: actions/setup-python@v5
|
|
with:
|
|
python-version: "3.11"
|
|
- name: Install Dependencies
|
|
run: |
|
|
python -m pip install --upgrade pip
|
|
pip install -r requirements.txt
|
|
- name: Build Package
|
|
run: |
|
|
pyside6-project build
|
|
nuitka --show-progress --include-data-dir=data=data --include-data-dir=resources=resources --assume-yes-for-downloads --onefile --windows-icon-from-ico=resources/icon.png --plugin-enable=pyside6 NUSGet.py --windows-console-mode=disable
|
|
- name: Upload Package
|
|
uses: actions/upload-artifact@v4.3.0
|
|
with:
|
|
path: D:\a\NUSGet\NUSGet\NUSGet.exe
|
|
name: NUSGet-windows-bin
|
|
|