Skip to content

Commit

Permalink
chore: Update build workflow to support both GUI and CLI builds on Wi…
Browse files Browse the repository at this point in the history
…ndows
  • Loading branch information
techtanic committed Jul 3, 2024
1 parent 80d1c00 commit 461e189
Showing 1 changed file with 29 additions and 18 deletions.
47 changes: 29 additions & 18 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,38 +7,49 @@ on:
- master

jobs:
build-windows:
name: Build windows
build:
runs-on: windows-latest
strategy:
matrix:
include:
- name: "DUCE-GUI-windows"
icon: "extra\\DUCE-LOGO.ico"
mode: "-w"
- name: "DUCE-CLI-windows"
icon: "extra\\DUCE-LOGO.ico"
mode: "-c"
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- uses: actions/checkout@v3

- name: Set up Python
uses: actions/setup-python@v4
with:
python-version: "3.11"

- name: Cache pip
uses: actions/cache@v3
with:
path: ~\AppData\Local\pip\Cache
key: ${{ runner.os }}-pip-${{ hashFiles('**\requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt -U
pip install pyinstaller -U
- name: Build GUI
run: pyinstaller -y -F -w -i "extra/DUCE-LOGO.ico" --clean --name "DUCE-GUI-windows" --add-data "base.py;." --add-data "colors.py;." --add-data "README.md;." --add-data "LICENSE;." "gui.py"
- name: Build ${{ matrix.name }}
run: pyinstaller -y -F ${{ matrix.mode }} -i "${{ matrix.icon }}" --clean --name "${{ matrix.name }}" --add-data "base.py;." --add-data "colors.py;." --add-data "README.md;." --add-data "LICENSE;." "${{ matrix.name == 'DUCE-GUI-windows' && 'gui.py' || 'cli.py' }}"

- name: Build CLI
run: pyinstaller -y -F -c -i "extra/DUCE-LOGO.ico" --clean --name "DUCE-CLI-windows" --add-data "base.py;." --add-data "colors.py;." --add-data "README.md;." --add-data "LICENSE;." "cli.py"

- name: Upload GUI.exe
uses: actions/upload-artifact@v4
with:
name: DUCE-GUI-windows.exe
path: ./dist/DUCE-GUI-windows.exe
- name: Upload CLI.exe
- name: Upload ${{ matrix.name }}.exe
uses: actions/upload-artifact@v4
with:
name: DUCE-CLI-windows.exe
path: ./dist/DUCE-CLI-windows.exe
name: ${{ matrix.name }}.exe
path: .\dist\${{ matrix.name }}.exe
- name: Upload DUCE
uses: actions/upload-artifact@v4
with:
name: DUCE-windows
path: ./dist/
path: .\dist\

0 comments on commit 461e189

Please sign in to comment.