|
50 | 50 | # Optional override. When empty, scripts/ci/render-tauri-build-config.py applies the centralized default endpoint. |
51 | 51 | ASTRBOT_UPDATER_ENDPOINT: ${{ vars.ASTRBOT_UPDATER_ENDPOINT || '' }} |
52 | 52 | ASTRBOT_UPDATER_PUBKEY: ${{ vars.ASTRBOT_UPDATER_PUBKEY || '' }} |
| 53 | + # Strict mode for updater manifest generation on version mismatches. |
| 54 | + ASTRBOT_UPDATER_MANIFEST_STRICT_VERSION_MATCH: ${{ vars.ASTRBOT_UPDATER_MANIFEST_STRICT_VERSION_MATCH || '0' }} |
53 | 55 |
|
54 | 56 | jobs: |
55 | 57 | resolve_build_context: |
@@ -203,19 +205,11 @@ jobs: |
203 | 205 | with: |
204 | 206 | astrbot_version: ${{ steps.desktop_version.outputs.normalized }} |
205 | 207 |
|
206 | | - - name: Prepare Tauri build config (Linux) |
207 | | - env: |
208 | | - ASTRBOT_UPDATER_ENDPOINT: ${{ env.ASTRBOT_UPDATER_ENDPOINT }} |
209 | | - ASTRBOT_UPDATER_PUBKEY: ${{ env.ASTRBOT_UPDATER_PUBKEY }} |
210 | | - shell: bash |
211 | | - run: | |
212 | | - set -euo pipefail |
213 | | - config_path="src-tauri/tauri.build.config.json" |
214 | | - python3 scripts/ci/render-tauri-build-config.py \ |
215 | | - --output "${config_path}" \ |
216 | | - --updater-endpoint "${ASTRBOT_UPDATER_ENDPOINT}" \ |
217 | | - --updater-pubkey "${ASTRBOT_UPDATER_PUBKEY}" |
218 | | - echo "ASTRBOT_TAURI_CONFIG_PATH=${config_path}" >> "${GITHUB_ENV}" |
| 208 | + - name: Prepare Tauri build config |
| 209 | + uses: ./.github/actions/prepare-tauri-build-config |
| 210 | + with: |
| 211 | + updater-endpoint: ${{ env.ASTRBOT_UPDATER_ENDPOINT }} |
| 212 | + updater-pubkey: ${{ env.ASTRBOT_UPDATER_PUBKEY }} |
219 | 213 |
|
220 | 214 | - name: Build desktop installers (Linux) |
221 | 215 | env: |
@@ -315,19 +309,11 @@ jobs: |
315 | 309 | --override-source "env:ASTRBOT_MACOS_APP_BUNDLE_NAME" \ |
316 | 310 | --github-output "${GITHUB_OUTPUT}" |
317 | 311 |
|
318 | | - - name: Prepare Tauri build config (macOS) |
319 | | - env: |
320 | | - ASTRBOT_UPDATER_ENDPOINT: ${{ env.ASTRBOT_UPDATER_ENDPOINT }} |
321 | | - ASTRBOT_UPDATER_PUBKEY: ${{ env.ASTRBOT_UPDATER_PUBKEY }} |
322 | | - shell: bash |
323 | | - run: | |
324 | | - set -euo pipefail |
325 | | - config_path="src-tauri/tauri.build.config.json" |
326 | | - python3 scripts/ci/render-tauri-build-config.py \ |
327 | | - --output "${config_path}" \ |
328 | | - --updater-endpoint "${ASTRBOT_UPDATER_ENDPOINT}" \ |
329 | | - --updater-pubkey "${ASTRBOT_UPDATER_PUBKEY}" |
330 | | - echo "ASTRBOT_TAURI_CONFIG_PATH=${config_path}" >> "${GITHUB_ENV}" |
| 312 | + - name: Prepare Tauri build config |
| 313 | + uses: ./.github/actions/prepare-tauri-build-config |
| 314 | + with: |
| 315 | + updater-endpoint: ${{ env.ASTRBOT_UPDATER_ENDPOINT }} |
| 316 | + updater-pubkey: ${{ env.ASTRBOT_UPDATER_PUBKEY }} |
331 | 317 |
|
332 | 318 | - name: Build desktop app bundle (macOS) |
333 | 319 | env: |
@@ -491,19 +477,11 @@ jobs: |
491 | 477 | with: |
492 | 478 | astrbot_version: ${{ steps.desktop_version.outputs.normalized }} |
493 | 479 |
|
494 | | - - name: Prepare Tauri build config (Windows) |
495 | | - env: |
496 | | - ASTRBOT_UPDATER_ENDPOINT: ${{ env.ASTRBOT_UPDATER_ENDPOINT }} |
497 | | - ASTRBOT_UPDATER_PUBKEY: ${{ env.ASTRBOT_UPDATER_PUBKEY }} |
498 | | - shell: bash |
499 | | - run: | |
500 | | - set -euo pipefail |
501 | | - config_path="src-tauri/tauri.build.config.json" |
502 | | - python3 scripts/ci/render-tauri-build-config.py \ |
503 | | - --output "${config_path}" \ |
504 | | - --updater-endpoint "${ASTRBOT_UPDATER_ENDPOINT}" \ |
505 | | - --updater-pubkey "${ASTRBOT_UPDATER_PUBKEY}" |
506 | | - echo "ASTRBOT_TAURI_CONFIG_PATH=${config_path}" >> "${GITHUB_ENV}" |
| 480 | + - name: Prepare Tauri build config |
| 481 | + uses: ./.github/actions/prepare-tauri-build-config |
| 482 | + with: |
| 483 | + updater-endpoint: ${{ env.ASTRBOT_UPDATER_ENDPOINT }} |
| 484 | + updater-pubkey: ${{ env.ASTRBOT_UPDATER_PUBKEY }} |
507 | 485 |
|
508 | 486 | - name: Build desktop installers (Windows) |
509 | 487 | env: |
@@ -615,15 +593,25 @@ jobs: |
615 | 593 | env: |
616 | 594 | RELEASE_TAG: ${{ needs.resolve_build_context.outputs.release_tag }} |
617 | 595 | RELEASE_VERSION: ${{ needs.resolve_build_context.outputs.astrbot_version }} |
| 596 | + ASTRBOT_UPDATER_MANIFEST_STRICT_VERSION_MATCH: ${{ env.ASTRBOT_UPDATER_MANIFEST_STRICT_VERSION_MATCH }} |
618 | 597 | shell: bash |
619 | 598 | run: | |
620 | 599 | set -euo pipefail |
621 | | - python3 scripts/ci/generate-updater-manifest.py \ |
622 | | - --root release-artifacts \ |
623 | | - --repository "${GITHUB_REPOSITORY}" \ |
624 | | - --release-tag "${RELEASE_TAG}" \ |
625 | | - --version "${RELEASE_VERSION}" \ |
| 600 | + manifest_args=( |
| 601 | + --root release-artifacts |
| 602 | + --repository "${GITHUB_REPOSITORY}" |
| 603 | + --release-tag "${RELEASE_TAG}" |
| 604 | + --version "${RELEASE_VERSION}" |
626 | 605 | --output release-artifacts/latest.json |
| 606 | + ) |
| 607 | + strict_flag="$(printf '%s' "${ASTRBOT_UPDATER_MANIFEST_STRICT_VERSION_MATCH}" | tr '[:upper:]' '[:lower:]')" |
| 608 | + case "${strict_flag}" in |
| 609 | + 1|true|yes|on) |
| 610 | + manifest_args+=(--strict-version-match) |
| 611 | + ;; |
| 612 | + esac |
| 613 | + python3 scripts/ci/generate-updater-manifest.py \ |
| 614 | + "${manifest_args[@]}" |
627 | 615 |
|
628 | 616 | - name: Remove existing assets from target release |
629 | 617 | env: |
|
0 commit comments