feat: prepare for release
This commit is contained in:
98
.github/workflows/build.yml
vendored
Normal file
98
.github/workflows/build.yml
vendored
Normal file
@@ -0,0 +1,98 @@
|
||||
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
|
||||
Reference in New Issue
Block a user