diff --git a/.gitea/workflows/sidecar-release.yml b/.gitea/workflows/sidecar-release.yml index 81ae639..ad4e250 100644 --- a/.gitea/workflows/sidecar-release.yml +++ b/.gitea/workflows/sidecar-release.yml @@ -27,40 +27,17 @@ jobs: needs: test if: "!contains(github.event.head_commit.message, '[skip ci]')" runs-on: ubuntu-latest - outputs: - version: ${{ steps.bump.outputs.version }} - tag: ${{ steps.bump.outputs.tag }} - has_changes: ${{ steps.check_changes.outputs.has_changes }} steps: - uses: actions/checkout@v4 with: fetch-depth: 2 - - name: Check for backend changes - id: check_changes - run: | - if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then - echo "has_changes=true" >> $GITHUB_OUTPUT - exit 0 - fi - CHANGED=$(git diff --name-only HEAD~1 HEAD -- client/ server/ backend/ pyproject.toml local-transcription-headless.spec 2>/dev/null || echo "") - if [ -n "$CHANGED" ]; then - echo "has_changes=true" >> $GITHUB_OUTPUT - echo "Backend changes detected: $CHANGED" - else - echo "has_changes=false" >> $GITHUB_OUTPUT - echo "No backend changes detected, skipping sidecar build" - fi - - name: Configure git - if: steps.check_changes.outputs.has_changes == 'true' run: | git config user.name "Gitea Actions" git config user.email "actions@gitea.local" - name: Bump sidecar patch version - if: steps.check_changes.outputs.has_changes == 'true' - id: bump run: | CURRENT=$(grep '^version = ' pyproject.toml | head -1 | sed 's/version = "\(.*\)"/\1/') echo "Current sidecar version: ${CURRENT}" @@ -74,56 +51,49 @@ jobs: sed -i "s/^version = \"${CURRENT}\"/version = \"${NEW_VERSION}\"/" pyproject.toml - echo "version=${NEW_VERSION}" >> $GITHUB_OUTPUT - echo "tag=sidecar-v${NEW_VERSION}" >> $GITHUB_OUTPUT + # Write to env file instead of step outputs (avoids act runner bug) + echo "NEW_VERSION=${NEW_VERSION}" >> $GITHUB_ENV + echo "RELEASE_TAG=sidecar-v${NEW_VERSION}" >> $GITHUB_ENV - name: Commit and tag - if: steps.check_changes.outputs.has_changes == 'true' env: BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }} run: | - NEW_VERSION="${{ steps.bump.outputs.version }}" - TAG="${{ steps.bump.outputs.tag }}" git add pyproject.toml git commit -m "chore: bump sidecar version to ${NEW_VERSION} [skip ci]" - git tag "${TAG}" + git tag "${RELEASE_TAG}" REMOTE_URL=$(git remote get-url origin | sed "s|://|://gitea-actions:${BUILD_TOKEN}@|") git pull --rebase "${REMOTE_URL}" main || true git push "${REMOTE_URL}" HEAD:main - git push "${REMOTE_URL}" "${TAG}" + git push "${REMOTE_URL}" "${RELEASE_TAG}" - name: Create Gitea release - if: steps.check_changes.outputs.has_changes == 'true' env: BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }} run: | REPO_API="${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}" - TAG="${{ steps.bump.outputs.tag }}" - VERSION="${{ steps.bump.outputs.version }}" - RELEASE_NAME="Sidecar v${VERSION}" + RELEASE_NAME="Sidecar v${NEW_VERSION}" curl -s -X POST \ -H "Authorization: token ${BUILD_TOKEN}" \ -H "Content-Type: application/json" \ - -d "{\"tag_name\": \"${TAG}\", \"name\": \"${RELEASE_NAME}\", \"body\": \"Automated sidecar build.\", \"draft\": false, \"prerelease\": false}" \ + -d "{\"tag_name\": \"${RELEASE_TAG}\", \"name\": \"${RELEASE_NAME}\", \"body\": \"Automated sidecar build.\", \"draft\": false, \"prerelease\": false}" \ "${REPO_API}/releases" echo "Created release: ${RELEASE_NAME}" - name: Trigger per-OS sidecar builds - if: steps.check_changes.outputs.has_changes == 'true' env: BUILD_TOKEN: ${{ secrets.BUILD_TOKEN }} run: | REPO_API="${GITHUB_SERVER_URL}/api/v1/repos/${GITHUB_REPOSITORY}" - TAG="${{ steps.bump.outputs.tag }}" for workflow in build-sidecar-linux.yml build-sidecar-windows.yml build-sidecar-macos.yml build-sidecar-cloud.yml; do - echo "Dispatching ${workflow} for ${TAG}..." + echo "Dispatching ${workflow} for ${RELEASE_TAG}..." HTTP_CODE=$(curl -s -o /dev/null -w "%{http_code}" -X POST \ -H "Authorization: token ${BUILD_TOKEN}" \ -H "Content-Type: application/json" \ - -d "{\"ref\": \"main\", \"inputs\": {\"tag\": \"${TAG}\"}}" \ + -d "{\"ref\": \"main\", \"inputs\": {\"tag\": \"${RELEASE_TAG}\"}}" \ "${REPO_API}/actions/workflows/${workflow}/dispatches") echo " -> HTTP ${HTTP_CODE}" done