WiiPy/.github/workflows/python-build.yaml

94 lines
2.2 KiB
YAML

# This workflow will install Python dependencies and then build WiiPy for all platforms
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.12
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build Application
run: make all
- name: Prepare Package for Upload
run: |
mv wiipy ~/wiipy
cd ~
tar cvf WiiPy.tar wiipy
- name: Upload Application
uses: actions/upload-artifact@v4.3.0
with:
path: ~/WiiPy.tar
name: WiiPy-linux-bin
build-macos:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.12
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build Application
run: make all
- name: Prepare Package for Upload
run: |
mv wiipy ~/wiipy
cd ~
tar cvf WiiPy.tar wiipy
- name: Upload Application
uses: actions/upload-artifact@v4.3.0
with:
path: ~/WiiPy.tar
name: WiiPy-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.12
uses: actions/setup-python@v5
with:
python-version: "3.12"
- name: Install Dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
- name: Build Application
run: .\Build.ps1
- name: Upload Application
uses: actions/upload-artifact@v4.3.0
with:
path: D:\a\WiiPy\WiiPy\wiipy.exe
name: WiiPy-windows-bin