Compare commits

...

6 Commits

Author SHA1 Message Date
Gitea Actions
375669f657 chore: bump sidecar version to 1.0.5 [skip ci] 2026-04-08 00:43:01 +00:00
Gitea Actions
c8b11fb0ad chore: bump version to 2.0.6 [skip ci] 2026-04-08 00:37:28 +00:00
Developer
273a926f03 Fix YAML parse error: use block scalar for echo with colons
All checks were successful
Tests / Python Backend Tests (push) Successful in 5s
Tests / Frontend Tests (push) Successful in 7s
Tests / Rust Sidecar Tests (push) Successful in 2m7s
Gitea's YAML parser treats `echo "text: value"` as a mapping when
on a single `run:` line. Using block scalar (`run: |`) avoids this.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:21:42 -07:00
Gitea Actions
5bbbc38875 chore: bump version to 2.0.5 [skip ci] 2026-04-08 00:19:25 +00:00
Developer
d50be6654d Fix dispatch failures and disable automatic cleanup
All checks were successful
Tests / Python Backend Tests (push) Successful in 5s
Tests / Frontend Tests (push) Successful in 8s
Tests / Rust Sidecar Tests (push) Successful in 2m8s
1. Quote RELEASE_TAG env vars in all workflow files. Unquoted
   ${{ inputs.tag }} caused YAML parse errors on some Gitea runners,
   making dispatch return HTTP 500 for Linux/macOS.

2. Disable automatic release cleanup in both coordinators. The cleanup
   races with async builds -- it deletes the release before builds
   finish uploading their assets. Clean up old releases manually
   from the Gitea UI instead.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:16:36 -07:00
Developer
68abf49018 Log dispatch error responses for debugging
Some checks failed
Tests / Python Backend Tests (push) Successful in 5s
Tests / Frontend Tests (push) Successful in 7s
Tests / Rust Sidecar Tests (push) Has been cancelled
Show the Gitea API response body when dispatch returns non-204,
to help diagnose why Linux/macOS dispatches return HTTP 500.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-07 17:14:23 -07:00
14 changed files with 33 additions and 95 deletions

View File

@@ -13,10 +13,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
NODE_VERSION: "20" NODE_VERSION: "20"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
run: echo "Building for tag: ${RELEASE_TAG}" run: |
echo "Building for tag: ${RELEASE_TAG}"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:

View File

@@ -13,10 +13,11 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
env: env:
NODE_VERSION: "20" NODE_VERSION: "20"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
run: echo "Building for tag: ${RELEASE_TAG}" run: |
echo "Building for tag: ${RELEASE_TAG}"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:

View File

@@ -15,7 +15,7 @@ jobs:
name: Build App (Windows) name: Build App (Windows)
runs-on: windows-latest runs-on: windows-latest
env: env:
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
shell: powershell shell: powershell

View File

@@ -13,10 +13,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
PYTHON_VERSION: "3.11" PYTHON_VERSION: "3.11"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
run: echo "Building cloud sidecar for tag ${RELEASE_TAG}" run: |
echo "Building cloud sidecar for tag ${RELEASE_TAG}"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:
@@ -85,7 +86,7 @@ jobs:
runs-on: windows-latest runs-on: windows-latest
env: env:
PYTHON_VERSION: "3.11" PYTHON_VERSION: "3.11"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
shell: powershell shell: powershell
@@ -161,10 +162,11 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
env: env:
PYTHON_VERSION: "3.11" PYTHON_VERSION: "3.11"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
run: echo "Building cloud sidecar for tag ${RELEASE_TAG}" run: |
echo "Building cloud sidecar for tag ${RELEASE_TAG}"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:

View File

@@ -13,10 +13,11 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
PYTHON_VERSION: "3.11" PYTHON_VERSION: "3.11"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
run: echo "Building for tag: ${RELEASE_TAG}" run: |
echo "Building for tag: ${RELEASE_TAG}"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:

View File

@@ -13,10 +13,11 @@ jobs:
runs-on: macos-latest runs-on: macos-latest
env: env:
PYTHON_VERSION: "3.11" PYTHON_VERSION: "3.11"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
run: echo "Building for tag: ${RELEASE_TAG}" run: |
echo "Building for tag: ${RELEASE_TAG}"
- uses: actions/checkout@v4 - uses: actions/checkout@v4
with: with:

View File

@@ -13,7 +13,7 @@ jobs:
runs-on: windows-latest runs-on: windows-latest
env: env:
PYTHON_VERSION: "3.11" PYTHON_VERSION: "3.11"
RELEASE_TAG: ${{ inputs.tag }} RELEASE_TAG: "${{ inputs.tag }}"
steps: steps:
- name: Show tag - name: Show tag
shell: powershell shell: powershell

View File

@@ -109,50 +109,14 @@ jobs:
for workflow in build-app-linux.yml build-app-windows.yml build-app-macos.yml; do for workflow in build-app-linux.yml build-app-windows.yml build-app-macos.yml; do
echo "Dispatching ${workflow} for ${TAG}..." echo "Dispatching ${workflow} for ${TAG}..."
HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -X POST \ HTTP_CODE=$(curl -s -w "%{http_code}" -o /tmp/dispatch_resp.txt -X POST \
-H "Authorization: token ${BUILD_TOKEN}" \ -H "Authorization: token ${BUILD_TOKEN}" \
-H "Content-Type: application/json" \ -H "Content-Type: application/json" \
-d "{\"ref\": \"main\", \"inputs\": {\"tag\": \"${TAG}\"}}" \ -d "{\"ref\": \"main\", \"inputs\": {\"tag\": \"${TAG}\"}}" \
"${REPO_API}/actions/workflows/${workflow}/dispatches") "${REPO_API}/actions/workflows/${workflow}/dispatches")
echo " -> HTTP ${HTTP_CODE}" echo " -> HTTP ${HTTP_CODE}"
[ "$HTTP_CODE" != "204" ] && cat /tmp/dispatch_resp.txt && echo ""
done done
- name: Clean up old app releases # NOTE: Automatic cleanup disabled -- it races with async builds.
env: # Clean up old releases manually from the Gitea UI when needed.
BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }}
run: |
REPO_API="${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}"
KEEP=3
PROTECT_TAG="v1.4.0"
echo "Cleaning up old app releases (keeping latest ${KEEP} + ${PROTECT_TAG})..."
# Get all app releases (v* tags, not sidecar-v*)
RELEASES=$(curl -s -H "Authorization: token ${BUILD_TOKEN}" \
"${REPO_API}/releases?limit=50" | jq -c '[.[] | select(.tag_name | startswith("v")) | select(.tag_name | startswith("sidecar") | not)]')
TOTAL=$(echo "$RELEASES" | jq 'length')
echo "Found ${TOTAL} app releases"
if [ "$TOTAL" -le "$KEEP" ]; then
echo "Nothing to clean up"
exit 0
fi
# Skip the newest KEEP releases, delete the rest (except protected)
echo "$RELEASES" | jq -c ".[$KEEP:][]" | while read -r release; do
ID=$(echo "$release" | jq -r '.id')
TAG=$(echo "$release" | jq -r '.tag_name')
if [ "$TAG" = "$PROTECT_TAG" ]; then
echo " Protecting ${TAG}"
continue
fi
echo " Deleting release ${TAG} (ID: ${ID})..."
curl -s -X DELETE -H "Authorization: token ${BUILD_TOKEN}" \
"${REPO_API}/releases/${ID}"
# Keep the git tag -- only delete the release (assets).
# Deleting tags breaks builds that haven't checked out yet.
done
echo "Cleanup complete"

View File

@@ -128,37 +128,5 @@ jobs:
echo " -> HTTP ${HTTP_CODE}" echo " -> HTTP ${HTTP_CODE}"
done done
- name: Clean up old sidecar releases # NOTE: Automatic cleanup disabled -- it races with async builds.
if: steps.check_changes.outputs.has_changes == 'true' # Clean up old releases manually from the Gitea UI when needed.
env:
BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }}
run: |
REPO_API="${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}"
KEEP=2
echo "Cleaning up old sidecar releases (keeping latest ${KEEP})..."
# Get all sidecar releases (sidecar-v* tags)
RELEASES=$(curl -s -H "Authorization: token ${BUILD_TOKEN}" \
"${REPO_API}/releases?limit=50" | jq -c '[.[] | select(.tag_name | startswith("sidecar-v"))]')
TOTAL=$(echo "$RELEASES" | jq 'length')
echo "Found ${TOTAL} sidecar releases"
if [ "$TOTAL" -le "$KEEP" ]; then
echo "Nothing to clean up"
exit 0
fi
# Skip the newest KEEP releases, delete the rest
echo "$RELEASES" | jq -c ".[$KEEP:][]" | while read -r release; do
ID=$(echo "$release" | jq -r '.id')
TAG=$(echo "$release" | jq -r '.tag_name')
echo " Deleting sidecar release ${TAG} (ID: ${ID})..."
curl -s -X DELETE -H "Authorization: token ${BUILD_TOKEN}" \
"${REPO_API}/releases/${ID}"
# Keep the git tag -- only delete the release (assets).
# Deleting tags breaks builds that haven't checked out yet.
done
echo "Cleanup complete"

View File

@@ -1,7 +1,7 @@
{ {
"name": "local-transcription", "name": "local-transcription",
"private": true, "private": true,
"version": "2.0.4", "version": "2.0.6",
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite dev", "dev": "vite dev",

View File

@@ -1,6 +1,6 @@
[project] [project]
name = "local-transcription" name = "local-transcription"
version = "1.0.4" version = "1.0.5"
description = "A standalone desktop application for real-time speech-to-text transcription using Whisper models" description = "A standalone desktop application for real-time speech-to-text transcription using Whisper models"
readme = "README.md" readme = "README.md"
requires-python = ">=3.9" requires-python = ">=3.9"

View File

@@ -1,6 +1,6 @@
[package] [package]
name = "local-transcription" name = "local-transcription"
version = "2.0.4" version = "2.0.6"
description = "Real-time speech-to-text transcription for streamers" description = "Real-time speech-to-text transcription for streamers"
authors = ["Local Transcription Contributors"] authors = ["Local Transcription Contributors"]
edition = "2021" edition = "2021"

View File

@@ -1,6 +1,6 @@
{ {
"productName": "Local Transcription", "productName": "Local Transcription",
"version": "2.0.4", "version": "2.0.6",
"identifier": "net.anhonesthost.local-transcription", "identifier": "net.anhonesthost.local-transcription",
"build": { "build": {
"frontendDist": "../dist", "frontendDist": "../dist",

View File

@@ -1,7 +1,7 @@
"""Version information for Local Transcription.""" """Version information for Local Transcription."""
__version__ = "2.0.4" __version__ = "2.0.6"
__version_info__ = (2, 0, 4) __version_info__ = (2, 0, 6)
# Version history: # Version history:
# 1.4.0 - Auto-update feature: # 1.4.0 - Auto-update feature: