44 push :
55 tags :
66 - " v*"
7+ workflow_dispatch :
8+ inputs :
9+ tag :
10+ description : " Release tag (e.g. v0.1.44)"
11+ required : true
712
813permissions :
914 contents : write
1015
1116concurrency :
12- group : release-${{ github.ref_name }}
17+ group : release-${{ inputs.tag || github.ref_name }}
1318 cancel-in-progress : false
1419
1520env :
1621 TURBO_TELEMETRY_DISABLED : 1
22+ RELEASE_TAG : ${{ inputs.tag || github.ref_name }}
1723
1824jobs :
1925 build-release :
3945 steps :
4046 - name : Checkout
4147 uses : actions/checkout@v4
48+ with :
49+ ref : ${{ env.RELEASE_TAG }}
4250
4351 - name : Setup pnpm
4452 uses : pnpm/action-setup@v4
7381 run : pnpm install --frozen-lockfile
7482
7583 - name : Verify release version metadata
76- run : bash ./scripts/sync-aur-metadata.sh "${GITHUB_REF_NAME #v}"
84+ run : bash ./scripts/sync-aur-metadata.sh "${RELEASE_TAG #v}"
7785
7886 - name : Build sidecar artifacts
7987 run : bash ./scripts/build-sidecar.sh
97105 TMP_DIR=$(mktemp -d)
98106 trap 'rm -rf "$TMP_DIR"' EXIT
99107 PORTABLE_TARBALL="$TMP_DIR/openlinear-linux-x64.tar.gz"
100- bash ./scripts/package-linux-portable.sh "${GITHUB_REF_NAME #v}" "$PORTABLE_TARBALL"
108+ bash ./scripts/package-linux-portable.sh "${RELEASE_TAG #v}" "$PORTABLE_TARBALL"
101109 tar -xzf "$PORTABLE_TARBALL" -C "$TMP_DIR"
102110 timeout 15s "$TMP_DIR/openlinear-linux-x64/openlinear-sidecar" > "$TMP_DIR/sidecar.log" 2>&1 || true
103111 cat "$TMP_DIR/sidecar.log"
@@ -106,7 +114,7 @@ jobs:
106114 - name : Prepare release artifacts
107115 run : |
108116 set -euo pipefail
109- VERSION=${GITHUB_REF_NAME #v}
117+ VERSION=${RELEASE_TAG #v}
110118 mkdir -p dist/release
111119 if [ "${{ runner.os }}" = "Linux" ]; then
112120 DEB=$(ls apps/desktop/src-tauri/target/release/bundle/deb/*.deb | head -n 1)
@@ -161,6 +169,8 @@ jobs:
161169 steps :
162170 - name : Checkout
163171 uses : actions/checkout@v4
172+ with :
173+ ref : ${{ env.RELEASE_TAG }}
164174
165175 - name : Setup pnpm
166176 uses : pnpm/action-setup@v4
@@ -178,7 +188,7 @@ jobs:
178188 - name : Verify tag matches package version
179189 run : |
180190 set -euo pipefail
181- VERSION=${GITHUB_REF_NAME #v}
191+ VERSION=${RELEASE_TAG #v}
182192 PACKAGE_VERSION=$(node -p "require('./packages/openlinear/package.json').version")
183193 if [ "$VERSION" != "$PACKAGE_VERSION" ]; then
184194 echo "Tag version $VERSION does not match packages/openlinear/package.json version $PACKAGE_VERSION" >&2
@@ -207,9 +217,11 @@ jobs:
207217 steps :
208218 - name : Checkout
209219 uses : actions/checkout@v4
220+ with :
221+ ref : ${{ env.RELEASE_TAG }}
210222
211223 - name : Sync Arch package metadata
212- run : bash ./scripts/sync-aur-metadata.sh "${GITHUB_REF_NAME #v}"
224+ run : bash ./scripts/sync-aur-metadata.sh "${RELEASE_TAG #v}"
213225
214226 - name : Publish to AUR
215227 uses : KSXGitHub/github-actions-deploy-aur@v3.0.1
@@ -222,4 +234,4 @@ jobs:
222234 commit_username : kaizen403
223235 commit_email : kaizen403@proton.me
224236 ssh_private_key : ${{ secrets.AUR_SSH_PRIVATE_KEY }}
225- commit_message : " Update to ${{ github.ref_name }}"
237+ commit_message : " Update to ${{ env.RELEASE_TAG }}"
0 commit comments