Files
mediahive/.gitea/workflows/release.yaml
T
LeoVasanko 99e757bc6f
release / gui-build (windows) (push) Failing after 1s
release / gui-build (macos) (push) Successful in 1m8s
release / gui-build (linux) (push) Successful in 1m11s
Checkout with plain git clone; JS actions need node on host runners
2026-09-22 04:13:21 +00:00

41 lines
1.2 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:
# Plain git clone instead of actions/checkout (a JS action that would
# require node on the host). Full history so setuptools_scm sees tags.
- name: Checkout
shell: bash
run: |
git clone "$GITHUB_SERVER_URL/$GITHUB_REPOSITORY.git" .
git checkout -f "$GITHUB_SHA"
- 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