1- name : Tauri Draft Release
1+ name : Tauri Release
22
33on :
44 push :
@@ -10,9 +10,10 @@ permissions:
1010 contents : write
1111
1212jobs :
13- publish -tauri :
13+ build -tauri :
1414 strategy :
1515 fail-fast : false
16+ max-parallel : 1
1617 matrix :
1718 include :
1819 - platform : " ubuntu-latest"
@@ -63,13 +64,50 @@ jobs:
6364 run : pnpm install --frozen-lockfile
6465
6566 - name : Build and publish Tauri app
66- uses : tauri-apps/tauri-action@v0
67+ uses : tauri-apps/tauri-action@v1
6768 env :
6869 GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
70+ TAURI_SIGNING_PRIVATE_KEY : ${{ secrets.TAURI_SIGNING_PRIVATE_KEY }}
71+ TAURI_SIGNING_PRIVATE_KEY_PASSWORD : ${{ secrets.TAURI_SIGNING_PRIVATE_KEY_PASSWORD }}
6972 with :
70- tagName : v__VERSION__
71- releaseName : " DeepLab v__VERSION__ "
72- releaseBody : " Draft release build for DeepLab v__VERSION__ ."
73+ tagName : ${{ github.ref_name }}
74+ releaseName : " DeepLab ${{ github.ref_name }} "
75+ releaseBody : " Automated release build for DeepLab ${{ github.ref_name }} ."
7376 releaseDraft : true
7477 prerelease : false
78+ uploadUpdaterJson : true
7579 args : ${{ matrix.args }}
80+
81+ verify-updater-json :
82+ needs : build-tauri
83+ runs-on : ubuntu-latest
84+ if : github.ref_type == 'tag'
85+ steps :
86+ - name : Fetch release latest.json
87+ env :
88+ GITHUB_TOKEN : ${{ secrets.GITHUB_TOKEN }}
89+ run : |
90+ set -euo pipefail
91+
92+ release_api="https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/tags/${GITHUB_REF_NAME}"
93+ asset_id="$(curl -fsSL \
94+ -H "Authorization: Bearer ${GITHUB_TOKEN}" \
95+ -H "Accept: application/vnd.github+json" \
96+ "$release_api" | jq -r '.assets[] | select(.name=="latest.json") | .id // empty')"
97+ test -n "$asset_id" || { echo "latest.json asset not found in release ${GITHUB_REF_NAME}"; exit 1; }
98+
99+ asset_api="https://api.github.com/repos/${GITHUB_REPOSITORY}/releases/assets/${asset_id}"
100+ curl -fsSL --retry 5 --retry-delay 2 \
101+ -H "Authorization: Bearer ${GITHUB_TOKEN}" \
102+ -H "Accept: application/octet-stream" \
103+ "$asset_api" -o latest.json
104+ cat latest.json
105+
106+ - name : Validate latest.json platforms
107+ run : |
108+ set -euo pipefail
109+ jq -e '.platforms["windows-x86_64"]' latest.json >/dev/null
110+ jq -e '.platforms["darwin-aarch64"]' latest.json >/dev/null
111+ jq -e '.platforms["darwin-x86_64"]' latest.json >/dev/null
112+ jq -e '.platforms["linux-x86_64"]' latest.json >/dev/null
113+ echo "latest.json contains all required platform entries"
0 commit comments