Coordinators now dispatch per-OS builds via API
All checks were successful
Release / Bump version and tag (push) Successful in 7s

Previously per-OS build workflows triggered on tag push events, but
Gitea doesn't fire events for tags pushed by other workflows. Now:

- release.yml dispatches build-app-{linux,windows,macos}.yml via
  the Gitea API after creating the tag and release
- sidecar-release.yml dispatches build-sidecar-{linux,windows,macos}.yml

Per-OS workflows changed from push+dispatch triggers to dispatch-only
with tag as a required input. To re-run a failed build for the same
version, just dispatch the specific OS workflow with the same tag --
upload logic replaces existing assets automatically.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Developer
2026-04-06 17:50:11 -07:00
parent a3151ad55e
commit 9468d01a88
8 changed files with 60 additions and 87 deletions

View File

@@ -1,14 +1,11 @@
name: Build App (Windows)
on:
push:
tags:
- 'v*'
workflow_dispatch:
inputs:
tag:
description: 'Release tag to build (e.g. v1.4.5)'
required: false
required: true
jobs:
build-windows:
@@ -21,20 +18,12 @@ jobs:
id: tag
shell: powershell
run: |
$inputTag = "${{ github.event.inputs.tag }}"
$ref = "${{ github.ref }}"
$refName = "${{ github.ref_name }}"
if ($inputTag) {
$TAG = $inputTag
} elseif ($ref -like "refs/tags/*") {
$TAG = $refName
} else {
$tags = git ls-remote --tags --sort=-v:refname origin 'refs/tags/v*' 2>&1
$TAG = ($tags | Select-Object -First 1) -replace '.*refs/tags/', ''
$TAG = "${{ github.event.inputs.tag }}"
if (-not $TAG) {
$TAG = (git ls-remote --tags --sort=-v:refname origin 'refs/tags/v*' | Select-Object -First 1) -replace '.*refs/tags/', ''
}
Write-Host "Building for tag: ${TAG}"
echo "tag=${TAG}" | Out-File -FilePath $env:GITHUB_OUTPUT -Encoding utf8 -Append
echo "tag=${TAG}" >> $env:GITHUB_OUTPUT
- uses: actions/checkout@v4
with: