Skip to content

Commit bd2f2ca

Browse files
committed
fix(ci): auto-reserve desktop store build versions
1 parent 85c9c29 commit bd2f2ca

1 file changed

Lines changed: 36 additions & 1 deletion

File tree

.github/workflows/build-desktop.yml

Lines changed: 36 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -165,13 +165,48 @@ jobs:
165165
npx electron-forge make --arch=arm64 --platform=darwin ${{ env.PROD == 'false' && '--mode=staging' || '' }}
166166
npx tsx scripts/merge-yml.ts
167167
168+
- name: Resolve desktop build version
169+
if: runner.os == 'macOS' && github.event.inputs.store == 'true'
170+
id: desktop_build_version
171+
shell: bash
172+
run: |
173+
set -euo pipefail
174+
175+
build_version="${{ github.event.inputs.build_version }}"
176+
177+
if [ -n "$build_version" ]; then
178+
echo "Using provided desktop build version: $build_version"
179+
echo "build_version=$build_version" >> "$GITHUB_OUTPUT"
180+
exit 0
181+
fi
182+
183+
git fetch --tags --force
184+
185+
latest_tag="$(git tag -l 'desktop-build/v*' --sort=-v:refname | head -n 1)"
186+
if [ -z "$latest_tag" ]; then
187+
last_build=110
188+
else
189+
last_build="${latest_tag#desktop-build/v}"
190+
fi
191+
192+
build_version=$((last_build + 1))
193+
build_tag="desktop-build/v${build_version}"
194+
195+
git config user.name "github-actions[bot]"
196+
git config user.email "github-actions[bot]@users.noreply.github.com"
197+
git tag "$build_tag"
198+
git push origin "$build_tag"
199+
200+
echo "Reserved desktop build version: ${build_version}"
201+
echo "build_version=$build_version" >> "$GITHUB_OUTPUT"
202+
168203
- name: Build - Mac App Store
169204
if: runner.os == 'macOS' && github.event.inputs.store == 'true'
170205
env:
171206
OSX_SIGN_KEYCHAIN_PATH: ${{ runner.temp }}/app-signing.keychain-db
172207
OSX_SIGN_IDENTITY: ${{ secrets.OSX_SIGN_IDENTITY_MAS }}
173208
OSX_SIGN_PROVISIONING_PROFILE_PATH: ${{ runner.temp }}/build_pp.provisionprofile
174-
BUILD_VERSION: ${{ github.event.inputs.build_version }}
209+
BUILD_VERSION: ${{ steps.desktop_build_version.outputs.build_version }}
175210
working-directory: apps/desktop
176211
run: pnpm build:electron-forge:mas
177212

0 commit comments

Comments
 (0)