Skip to content

release

release #10

Workflow file for this run

name: Release App
on:
push:
tags: ['app-v*']
workflow_dispatch:
permissions:
contents: write
jobs:
check:
runs-on: ubuntu-latest
outputs:
tag: ${{ steps.release.outputs.tag }}
version: ${{ steps.release.outputs.version }}
notes: ${{ steps.release.outputs.notes }}
steps:
- uses: actions/checkout@v5
- id: release
uses: while-coder/workflows/.github/actions/resolve-release-info@main
with:
tag-prefix: app-v
package-json: packages/app/package.json
changelog: packages/app/CHANGELOG.md
prepare-release:
needs: check
runs-on: ubuntu-latest
steps:
- name: Recreate GitHub Release
uses: while-coder/workflows/.github/actions/recreate-github-release@main
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
tag: ${{ needs.check.outputs.tag }}
title: app v${{ needs.check.outputs.version }}
notes: ${{ needs.check.outputs.notes }}
release-desktop:
needs: [check, prepare-release]
uses: while-coder/workflows/.github/workflows/tauri-desktop-release.yml@main
with:
project-path: packages/app
cargo-lock-path: packages/app/src-tauri/Cargo.lock
cargo-target-path: packages/app/src-tauri/target
cache-key-prefix: cargo-app
tag-name: ${{ needs.check.outputs.tag }}
release-name: app v${{ needs.check.outputs.version }}
release-body: ${{ needs.check.outputs.notes }}
secrets: inherit
release-android:
needs: [check, release-desktop]
if: ${{ !cancelled() && needs.release-desktop.result == 'success' }}
uses: while-coder/workflows/.github/workflows/tauri-android-release.yml@main
with:
project-path: packages/app
cargo-lock-path: packages/app/src-tauri/Cargo.lock
cargo-target-path: packages/app/src-tauri/target
cache-key-prefix: android-cargo-app
tag-name: ${{ needs.check.outputs.tag }}
version: ${{ needs.check.outputs.version }}
asset-prefix: sbot
build-command: pnpm android:build --apk --aab
secrets: inherit
release-ios:
needs: [check, release-desktop]
if: ${{ !cancelled() && needs.release-desktop.result == 'success' }}
uses: while-coder/workflows/.github/workflows/tauri-ios-unsigned.yml@main
with:
project-path: packages/app
cargo-lock-path: packages/app/src-tauri/Cargo.lock
cargo-target-path: packages/app/src-tauri/target
cache-key-prefix: ios-cargo-app
tag-name: ${{ needs.check.outputs.tag }}
version: ${{ needs.check.outputs.version }}
asset-prefix: sbot
init-command: pnpm ios:init
build-command: pnpm ios:build --target aarch64 --no-sign --ci
secrets: inherit
publish-vscode:
needs: [check, release-desktop]
if: ${{ !cancelled() && needs.release-desktop.result == 'success' }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v5
- uses: pnpm/action-setup@v6
with:
version: 10.33.0
- uses: actions/setup-node@v5
with:
node-version: 24
cache: pnpm
- run: pnpm install --frozen-lockfile
- name: Build extension
run: pnpm run build:vscode
- name: Verify VS Code extension version
id: vscode
shell: bash
run: |
VERSION=$(node -p "require('./packages/vscode-extension/package.json').version")
if [ "$VERSION" != "${{ needs.check.outputs.version }}" ]; then
echo "::error::App version (${{ needs.check.outputs.version }}) does not match packages/vscode-extension/package.json version ($VERSION). Run pnpm run release:app to keep them in sync."
exit 1
fi
echo "version=$VERSION" >> "$GITHUB_OUTPUT"
- name: Package VSIX
working-directory: packages/vscode-extension
run: npx --yes @vscode/vsce package --no-dependencies --out "sbot-vscode-${{ steps.vscode.outputs.version }}.vsix"
- name: Upload VSIX to release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
REPO: ${{ github.repository }}
TAG: ${{ needs.check.outputs.tag }}
VERSION: ${{ steps.vscode.outputs.version }}
run: gh release upload "$TAG" "packages/vscode-extension/sbot-vscode-${VERSION}.vsix" -R "$REPO" --clobber
publish-manifest:
needs: [check, release-desktop]
if: ${{ !cancelled() && needs.release-desktop.result == 'success' }}
uses: while-coder/workflows/.github/workflows/tauri-updater-manifest.yml@main

Check failure on line 131 in .github/workflows/release-app.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/release-app.yml

Invalid workflow file

error parsing called workflow ".github/workflows/release-app.yml" -> "while-coder/workflows/.github/workflows/tauri-updater-manifest.yml@main" : workflow was not found. See https://docs.github.com/actions/learn-github-actions/reusing-workflows#access-to-reusable-workflows for more information.
with:
product-prefix: sbot
tag-name: ${{ needs.check.outputs.tag }}
version: ${{ needs.check.outputs.version }}
release-notes: ${{ needs.check.outputs.notes }}
output-name: latest-app.json
updater-title: Updater Manifests
secrets: inherit