43 lines
1.3 KiB
YAML
43 lines
1.3 KiB
YAML
name: CD
|
|
|
|
on:
|
|
release:
|
|
types:
|
|
- published
|
|
|
|
jobs:
|
|
# Pre-cleanup: delete all existing assets from the release to avoid gh release upload failure
|
|
pre-release-cleanup:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Delete Existing Release Assets
|
|
env:
|
|
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
run: |
|
|
TAG_NAME="${{ github.event.release.tag_name }}"
|
|
# Capture asset list first to avoid pipefail issues
|
|
ASSETS=$(gh release view "$TAG_NAME" --json assets --jq '.assets[].name' 2>/dev/null || true)
|
|
if [ -n "$ASSETS" ]; then
|
|
echo "$ASSETS" | while read -r filename; do
|
|
echo "Deleting existing asset: $filename"
|
|
gh release delete-asset "$TAG_NAME" "$filename" --yes 2>/dev/null || true
|
|
done
|
|
else
|
|
echo "No existing assets to delete"
|
|
fi
|
|
shell: bash
|
|
|
|
cd:
|
|
needs: pre-release-cleanup
|
|
uses: halo-sigs/reusable-workflows/.github/workflows/plugin-cd.yaml@v4
|
|
permissions:
|
|
contents: write
|
|
with:
|
|
ui-path: "ui"
|
|
pnpm-version: 10
|
|
node-version: 24
|
|
java-version: 21
|
|
# Remove skip-appstore-release and set app-id if you want to release to the App Store
|
|
skip-appstore-release: true
|
|
# app-id: app-xyz
|