Files
mediahive/.gitea/workflows/release.yaml
T
LeoVasanko ff10c86e84 Add Gitea Actions cross-platform release workflow
Build the GUI app on macos/windows/linux host runners on v* tag pushes.
All platform jobs converge on one Gitea release; release.py now reuses an
existing release, skips duplicate assets, and supports --no-dist so only
the linux job uploads the wheel/sdist.
2026-09-22 03:54:05 +00:00

38 lines
1.0 KiB
YAML

name: release
on:
push:
tags:
- "v*"
jobs:
gui-build:
strategy:
fail-fast: false
matrix:
os: [macos, windows, linux]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
with:
# setuptools_scm needs full history/tags to compute the version
fetch-depth: 0
- name: Build GUI app zip and dist packages
run: uv run --extra gui scripts/guibuild.py
# Every platform converges on the one release for the tag; release.py
# reuses an existing release and skips already-uploaded assets.
# Only the linux job publishes the wheel/sdist (identical across platforms).
- name: Create Gitea release and upload assets
if: matrix.os == 'linux'
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: uv run scripts/release.py
- name: Attach platform zip to the Gitea release
if: matrix.os != 'linux'
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
run: uv run scripts/release.py --no-dist