99 lines
2.2 KiB
YAML
99 lines
2.2 KiB
YAML
name: "Build and Package"
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
tags:
|
|
- v*
|
|
|
|
env:
|
|
FORCE_COLOR: "1"
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
package:
|
|
name: Build and Package
|
|
runs-on: ${{ matrix.runs-on }}
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
target: [ "macOS" ]
|
|
include:
|
|
- target: "macOS"
|
|
output-format: "app"
|
|
runs-on: "macos-latest"
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install uv
|
|
uses: astral-sh/setup-uv@v6
|
|
|
|
- name: Install Python 3.13
|
|
run: uv python install 3.13
|
|
|
|
- name: Setup Environment
|
|
run: uv sync
|
|
|
|
- name: Build App
|
|
run: |
|
|
${{ matrix.briefcase-build-prefix }} \
|
|
uv run briefcase build \
|
|
${{ matrix.platform || matrix.target }} \
|
|
${{ matrix.output-format }} \
|
|
--test --no-input --log \
|
|
${{ matrix.briefcase-args }} \
|
|
${{ matrix.briefcase-build-args }}
|
|
|
|
- name: Package App
|
|
run: |
|
|
${{ matrix.briefcase-package-prefix }} \
|
|
uv run briefcase package \
|
|
${{ matrix.platform || matrix.target }} \
|
|
${{ matrix.output-format }} \
|
|
--update --adhoc-sign --no-input --log \
|
|
${{ matrix.briefcase-args }} \
|
|
${{ matrix.briefcase-package-args }}
|
|
|
|
- name: Upload App
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: App-${{ matrix.target }}
|
|
path: dist
|
|
if-no-files-found: error
|
|
|
|
- name: Upload Log
|
|
if: failure()
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: Log-Failure-${{ matrix.target }}
|
|
path: logs/*
|
|
|
|
|
|
release:
|
|
name: "Upload Release"
|
|
runs-on: ubuntu-latest
|
|
needs:
|
|
- package
|
|
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Download macOS build
|
|
with:
|
|
name: App-macOS
|
|
path: dist/
|
|
|
|
- name: Display all files
|
|
run: ls -R
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v2
|
|
with:
|
|
files: dist/*
|
|
fail_on_unmatched_files: true
|