Skip to content

fix(ci+desktop): stabilize tray restart and add nightly release flow#26

Merged
zouyonghe merged 9 commits into
AstrBotDevs:mainfrom
zouyonghe:main
Feb 21, 2026
Merged

fix(ci+desktop): stabilize tray restart and add nightly release flow#26
zouyonghe merged 9 commits into
AstrBotDevs:mainfrom
zouyonghe:main

Conversation

@zouyonghe
Copy link
Copy Markdown
Member

@zouyonghe zouyonghe commented Feb 21, 2026

Summary

  • stabilize tray-initiated backend restart signaling between Tauri and WebUI
  • harden macOS DMG cleanup/retry flow for CI detach failures (DiskArbitration expired / drive not detached)
  • add daily nightly pipeline while keeping hourly upstream-tag polling build behavior

Key Changes

  • desktop bridge + tray restart event wiring improvements in src-tauri/src/main.rs
  • loopback capability fix for desktop event APIs in src-tauri/capabilities/default.json
  • CI DMG cleanup hardening in scripts/ci/cleanup-dmg.sh:
    • pre-detach sleep
    • mount-holder process cleanup (gated by env)
    • safer diskutil unmountDisk usage with disk identifier resolution
    • bounded/portable lsof timeout handling
  • workflow improvements in .github/workflows/build-desktop-tauri.yml:
    • keep hourly tag-poll schedule
    • add daily nightly schedule
    • nightly builds from upstream master latest commit
    • nightly prerelease tag naming with -nightly.<date>.<sha> suffix
    • nightly release publishing without version-file sync

Validation

  • cargo check --manifest-path src-tauri/Cargo.toml --locked
  • cargo clippy --manifest-path src-tauri/Cargo.toml --locked --all-targets -- -D warnings
  • bash -n scripts/ci/cleanup-dmg.sh
  • node --check scripts/prepare-resources.mjs
  • local packaging flow (make clean, make update, make build)

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 引入构建模式概念(manual、tag-poll、nightly),并提供相应的工作流输入和环境配置。
  • 新增夜间构建功能:从可配置的上游分支在特定 UTC 时间触发构建,并自动生成夜间预发布标签和名称。

改进:

  • 将已解析的构建和发布上下文(mode、publish 标志、tag、name、prerelease)从解析任务传播到下游任务。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,而非所有计划任务执行。
  • 仅根据解析得到的 publish_release 标志驱动发布任务,在创建 GitHub Releases 时使用预先计算好的发布元数据,包括预发布和最新版本设置。

CI:

  • 扩展桌面构建工作流,以区分 manual、tag-poll 和 nightly 三种执行方式,并包含输入校验和调度行为。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

Build:

  • 通过工作流 job 的输出传播解析后的构建模式和发布元数据,以便下游 job 能据此决定构建与发布行为。

CI:

  • 在现有的每小时定时任务基础上新增每日定时运行,以支持从上游 master 分支触发的夜间构建。
  • 根据运行是手动触发、夜间构建还是 tag-poll 驱动,推导构建上下文输出,包括构建模式、发布标记(是否发布)以及发布元数据(tag、名称、是否为预发行版)。
  • 将仓库版本同步限制为仅在定时的 tag-poll 构建中执行,而不是在所有定时任务中执行。
  • 修改发布 job,使其依赖解析出的 publish_release 标志,并在创建 GitHub Release 时使用计算好的发布元数据,包括预发行版状态和 “latest” 标记。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 引入构建模式概念(manual、tag-poll、nightly),并提供相应的工作流输入和环境配置。
  • 新增夜间构建功能:从可配置的上游分支在特定 UTC 时间触发构建,并自动生成夜间预发布标签和名称。

改进:

  • 将已解析的构建和发布上下文(mode、publish 标志、tag、name、prerelease)从解析任务传播到下游任务。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,而非所有计划任务执行。
  • 仅根据解析得到的 publish_release 标志驱动发布任务,在创建 GitHub Releases 时使用预先计算好的发布元数据,包括预发布和最新版本设置。

CI:

  • 扩展桌面构建工作流,以区分 manual、tag-poll 和 nightly 三种执行方式,并包含输入校验和调度行为。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 引入构建模式概念(manual、tag-poll、nightly),并提供相应的工作流输入和环境配置。
  • 新增夜间构建功能:从可配置的上游分支在特定 UTC 时间触发构建,并自动生成夜间预发布标签和名称。

改进:

  • 将已解析的构建和发布上下文(mode、publish 标志、tag、name、prerelease)从解析任务传播到下游任务。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,而非所有计划任务执行。
  • 仅根据解析得到的 publish_release 标志驱动发布任务,在创建 GitHub Releases 时使用预先计算好的发布元数据,包括预发布和最新版本设置。

CI:

  • 扩展桌面构建工作流,以区分 manual、tag-poll 和 nightly 三种执行方式,并包含输入校验和调度行为。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

Build:

  • 通过工作流 job 的输出传播解析后的构建模式和发布元数据,以便下游 job 能据此决定构建与发布行为。

CI:

  • 在现有的每小时定时任务基础上新增每日定时运行,以支持从上游 master 分支触发的夜间构建。
  • 根据运行是手动触发、夜间构建还是 tag-poll 驱动,推导构建上下文输出,包括构建模式、发布标记(是否发布)以及发布元数据(tag、名称、是否为预发行版)。
  • 将仓库版本同步限制为仅在定时的 tag-poll 构建中执行,而不是在所有定时任务中执行。
  • 修改发布 job,使其依赖解析出的 publish_release 标志,并在创建 GitHub Release 时使用计算好的发布元数据,包括预发行版状态和 “latest” 标记。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 引入构建模式概念(manual、tag-poll、nightly),并提供相应的工作流输入和环境配置。
  • 新增夜间构建功能:从可配置的上游分支在特定 UTC 时间触发构建,并自动生成夜间预发布标签和名称。

改进:

  • 将已解析的构建和发布上下文(mode、publish 标志、tag、name、prerelease)从解析任务传播到下游任务。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,而非所有计划任务执行。
  • 仅根据解析得到的 publish_release 标志驱动发布任务,在创建 GitHub Releases 时使用预先计算好的发布元数据,包括预发布和最新版本设置。

CI:

  • 扩展桌面构建工作流,以区分 manual、tag-poll 和 nightly 三种执行方式,并包含输入校验和调度行为。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新特性:

  • 为桌面构建工作流新增可配置的构建模式输入(autotag-pollnightly)。
  • 从可配置的上游分支按日程生成 nightly 预发布构建,版本号使用日期 + SHA 后缀的标签。

增强:

  • 在各工作流任务之间传递已解析的构建上下文(构建模式、发布标志、发布标签/名称/预发布标记),以集中管理发布决策逻辑。
  • 基于构建模式派生发布元数据,包括对 nightly 预发布与常规发布的分别处理。

CI:

  • 根据可配置的 UTC 小时,将计划任务拆分为 nightly 和标签轮询(tag-polling)两种行为,并对输入和环境变量进行校验。
  • 将仓库版本同步限制为仅在计划的 tag-poll 运行中执行,并仅由解析后的 publish_release 标志驱动发布任务。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

新功能:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly)。
  • 从可配置的上游分支生成夜间预发布构建,并使用附带日期和 SHA 的版本标签。

增强:

  • 在各个任务(job)之间传递已解析的构建模式和发布元数据(publish 标志、标签、名称、prerelease),以集中化发布决策逻辑。

构建:

  • 基于构建模式推导发布元数据,从而对夜间预发布与常规发布进行差异化处理。

CI:

  • 将定时运行拆分为夜间执行和 tag-poll 执行,并基于可配置的 UTC 小时进行区分,同时验证输入和环境变量。
  • 将仓库版本同步限制为仅在定时 tag-poll 运行时执行,并仅基于解析后的 publish_release 标志控制发布行为。
  • 更新发布任务,在创建 GitHub Release 时使用预先计算的发布元数据以及 prerelease / latest 标志。
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.
Original summary in English

Summary by Sourcery

为桌面端 CI 引入可配置的构建模式和统一的构建上下文解析机制,在支持每夜预发行构建的同时,优化正式发布和版本同步的触发时机。

New Features:

  • 为桌面构建工作流新增可配置的 build_mode 输入参数(autotag-pollnightly),用于控制构建行为。
  • 从可配置的上游 ref 生成每夜预发行构建,并使用包含日期和 SHA 后缀的版本标签与名称。

Enhancements:

  • 将构建上下文和发布元数据的解析集中到一个可复用脚本中,该脚本会把构建模式、发布标志以及发布标识符传播到下游任务。

Build:

  • 根据解析得到的构建模式和源 ref 推导发布标签、名称和是否为预发行,而不是在工作流中硬编码这些信息。

CI:

  • 按可配置的 UTC 小时将定时运行拆分为 nightly 和 tag-poll 模式,同时校验输入和环境变量。
  • 将仓库版本同步限制为仅在定时的 tag-poll 运行中执行,并由解析出的 build_mode 输出驱动。
  • 仅根据解析后的 publish_release 标志和预先计算好的发布元数据(包括是否为预发行以及是否为最新)来驱动发布流程。
Original summary in English

Summary by Sourcery

Introduce a configurable build mode and centralized build-context resolution for desktop CI, enabling nightly prerelease builds while refining when releases and version syncs occur.

New Features:

  • Add a configurable build_mode input (auto, tag-poll, nightly) for the desktop build workflow to control build behavior.
  • Generate nightly prerelease builds from a configurable upstream ref with date+SHA-suffixed version tags and names.

Enhancements:

  • Centralize build context and release metadata resolution into a reusable script that propagates build mode, publish flags, and release identifiers to downstream jobs.

Build:

  • Derive release tags, names, and prerelease status from the resolved build mode and source ref instead of hardcoding them in the workflow.

CI:

  • Split scheduled runs into nightly and tag-poll modes based on a configurable UTC hour while validating inputs and environment variables.
  • Restrict repository version synchronization to scheduled tag-poll runs only, driven by the resolved build_mode output.
  • Drive release publishing solely from the parsed publish_release flag and precomputed release metadata, including prerelease and latest settings.

@gemini-code-assist
Copy link
Copy Markdown
Contributor

Note

Gemini is unable to generate a summary for this pull request due to the file types involved not being currently supported.

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我在这里给出了一些高层面的反馈:

  • 现在 TAG_POLL_CRONNIGHTLY_CRON 这两个 shell 变量隐式地与 on.schedule 的 cron 表达式保持一致;建议改为引用一个单一的“真源”(single source of truth),或者至少加一段简短的注释,这样在以后修改 workflow 触发条件时,它们就不会在没人注意的情况下逐渐偏离。
  • 夜间构建的发布名称去掉了开头的 v 前缀(AstrBot Desktop ${version}),而 tag-poll/手动发布名称则保留了前缀(AstrBot Desktop v${version});如果这不是刻意为之,建议统一命名以避免发布名称显示不一致。
给 AI Agent 的提示
Please address the comments from this code review:

## Overall Comments
- The `TAG_POLL_CRON` and `NIGHTLY_CRON` shell variables now implicitly mirror the `on.schedule` cron expressions; consider referencing a single source of truth (or at least adding a brief comment) so these don’t silently drift out of sync when the workflow triggers are edited.
- The nightly release name drops the leading `v` prefix (`AstrBot Desktop ${version}`) while the tag-poll/manual release name keeps it (`AstrBot Desktop v${version}`); if this isn’t intentional, align the naming to avoid inconsistent release display names.

Sourcery 对开源项目是免费的——如果你喜欢我们的评审,请考虑帮我们分享 ✨
帮我变得更有用!请对每条评论点一下 👍 或 👎,我会根据你的反馈改进后续的代码评审。
Original comment in English

Hey - I've left some high level feedback:

  • The TAG_POLL_CRON and NIGHTLY_CRON shell variables now implicitly mirror the on.schedule cron expressions; consider referencing a single source of truth (or at least adding a brief comment) so these don’t silently drift out of sync when the workflow triggers are edited.
  • The nightly release name drops the leading v prefix (AstrBot Desktop ${version}) while the tag-poll/manual release name keeps it (AstrBot Desktop v${version}); if this isn’t intentional, align the naming to avoid inconsistent release display names.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The `TAG_POLL_CRON` and `NIGHTLY_CRON` shell variables now implicitly mirror the `on.schedule` cron expressions; consider referencing a single source of truth (or at least adding a brief comment) so these don’t silently drift out of sync when the workflow triggers are edited.
- The nightly release name drops the leading `v` prefix (`AstrBot Desktop ${version}`) while the tag-poll/manual release name keeps it (`AstrBot Desktop v${version}`); if this isn’t intentional, align the naming to avoid inconsistent release display names.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@zouyonghe
Copy link
Copy Markdown
Member Author

@sourcery-ai review

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我在这里给出了一些整体性的反馈:

  • 夜间任务流程里将 refs/heads/master 硬编码为源分支;建议将其做成可配置项(例如通过 workflow 输入参数或环境变量),这样在上游默认分支变更或需要针对其他分支时不会出问题。
  • 针对定时运行的构建模式检测依赖 github.event.schedule 与硬编码的 cron 字符串匹配,并且需要与 on.schedule 手动保持同步;为避免偏移,建议通过显式输入参数或一个小的 dispatch 封装来驱动模式,而不是在脚本中匹配 cron 表达式。
给 AI 代理的提示
Please address the comments from this code review:

## Overall Comments
- The nightly flow hardcodes `refs/heads/master` as the source branch; consider making this configurable (e.g., via workflow input or an env var) so it doesn’t break if the upstream default branch changes or you need to target a different branch.
- The build-mode detection for scheduled runs relies on `github.event.schedule` matching hardcoded cron strings and requires manual sync with `on.schedule`; to avoid drift, consider driving the mode via explicit inputs or a small dispatch wrapper instead of matching the cron expressions in script.

Sourcery 对开源项目是免费的——如果你觉得我们的评审有帮助,欢迎帮忙分享 ✨
帮我变得更有用!请在每条评论上点 👍 或 👎,我会根据你的反馈改进之后的代码评审。
Original comment in English

Hey - I've left some high level feedback:

  • The nightly flow hardcodes refs/heads/master as the source branch; consider making this configurable (e.g., via workflow input or an env var) so it doesn’t break if the upstream default branch changes or you need to target a different branch.
  • The build-mode detection for scheduled runs relies on github.event.schedule matching hardcoded cron strings and requires manual sync with on.schedule; to avoid drift, consider driving the mode via explicit inputs or a small dispatch wrapper instead of matching the cron expressions in script.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The nightly flow hardcodes `refs/heads/master` as the source branch; consider making this configurable (e.g., via workflow input or an env var) so it doesn’t break if the upstream default branch changes or you need to target a different branch.
- The build-mode detection for scheduled runs relies on `github.event.schedule` matching hardcoded cron strings and requires manual sync with `on.schedule`; to avoid drift, consider driving the mode via explicit inputs or a small dispatch wrapper instead of matching the cron expressions in script.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@zouyonghe
Copy link
Copy Markdown
Member Author

@sourcery-ai review

Copy link
Copy Markdown

@SourceryAI SourceryAI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我已经审查了你的更改,看起来很棒!


Hi @zouyonghe! 👋

感谢你通过评论 @sourcery-ai review 来试用 Sourcery!🚀

安装 sourcery-ai 机器人,即可在每个拉取请求上自动获得代码审查 ✨

帮我变得更有用!请在每条评论上点选 👍 或 👎,我会根据你的反馈来改进我的审查。
Original comment in English

Hey - I've reviewed your changes and they look great!


Hi @zouyonghe! 👋

Thanks for trying out Sourcery by commenting with @sourcery-ai review! 🚀

Install the sourcery-ai bot to get automatic code reviews on every pull request ✨

Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我发现了 1 个问题

给 AI 代理的提示
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location> `.github/workflows/build-desktop-tauri.yml:101-103` </location>
<code_context>
+              ;;
+          esac
+
+          case "${nightly_utc_hour}" in
+            ''|*[!0-9]*) nightly_utc_hour="3" ;;
+          esac
+          if [ "${nightly_utc_hour}" -gt 23 ] 2>/dev/null; then
</code_context>

<issue_to_address>
**suggestion:** 非数字的 `ASTRBOT_NIGHTLY_UTC_HOUR` 值会在没有任何日志的情况下被静默地转换为 3。

由于无效的数字值会触发警告,而非数字值却会静默回退到 `3`,建议在处理非数字分支时也记录类似的警告日志,以便更容易发现配置错误的仓库/组织级变量。

```suggestion
          case "${nightly_utc_hour}" in
            '')
              nightly_utc_hour="3"
              ;;
            *[!0-9]*)
              echo "WARN: non-numeric ASTRBOT_NIGHTLY_UTC_HOUR=${nightly_utc_hour}, fallback to 3."
              nightly_utc_hour="3"
              ;;
          esac
```
</issue_to_address>

Sourcery 对开源项目是免费的——如果你觉得我们的评审有帮助,欢迎分享 ✨
帮我变得更有用!请在每条评论上点击 👍 或 👎,我会根据你的反馈来改进后续评审。
Original comment in English

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location> `.github/workflows/build-desktop-tauri.yml:101-103` </location>
<code_context>
+              ;;
+          esac
+
+          case "${nightly_utc_hour}" in
+            ''|*[!0-9]*) nightly_utc_hour="3" ;;
+          esac
+          if [ "${nightly_utc_hour}" -gt 23 ] 2>/dev/null; then
</code_context>

<issue_to_address>
**suggestion:** Non-numeric `ASTRBOT_NIGHTLY_UTC_HOUR` values are silently coerced to 3 without logging.

Since invalid numeric values emit a warning but non-numeric ones silently fall back to `3`, consider logging a similar warning in the non-numeric branch so misconfigured repo/org-level variables are easier to spot.

```suggestion
          case "${nightly_utc_hour}" in
            '')
              nightly_utc_hour="3"
              ;;
            *[!0-9]*)
              echo "WARN: non-numeric ASTRBOT_NIGHTLY_UTC_HOUR=${nightly_utc_hour}, fallback to 3."
              nightly_utc_hour="3"
              ;;
          esac
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/build-desktop-tauri.yml Outdated
@zouyonghe
Copy link
Copy Markdown
Member Author

@sourcery-ai review

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我发现了 1 个问题,并留下了一些总体反馈:

  • 当提供了无效的 build_mode 时,你目前会静默回退到 auto;建议要么让整个任务失败,要么至少清晰地标记这次运行为配置错误(例如通过 ::warning::error),以免输入拼写错误被忽略。
  • 夜间运行的默认小时数(3)在 shell 逻辑的多个分支中被重复使用;建议将其集中到一个 DEFAULT_NIGHTLY_UTC_HOUR 变量中,这样如果默认值变更,就能降低不一致的风险。
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- When an invalid `build_mode` is provided you currently fall back silently to `auto`; consider failing the job or at least marking the run as clearly misconfigured (e.g., via `::warning` or `::error`) so mis-typed inputs don't go unnoticed.
- The nightly hour default (`3`) is duplicated in several branches of the shell logic; consider centralizing this into a single `DEFAULT_NIGHTLY_UTC_HOUR` variable to reduce the chance of drift if the default changes.

## Individual Comments

### Comment 1
<location> `.github/workflows/build-desktop-tauri.yml:85-94` </location>
<code_context>
           source_git_ref="${ASTRBOT_SOURCE_GIT_REF}"
+          nightly_source_git_ref="${ASTRBOT_NIGHTLY_SOURCE_GIT_REF:-master}"
+          nightly_utc_hour="${ASTRBOT_NIGHTLY_UTC_HOUR:-3}"
+          requested_build_mode="$(printf '%s' "${WORKFLOW_BUILD_MODE:-auto}" | tr '[:upper:]' '[:lower:]')"
           should_build="true"
+          build_mode="manual"
</code_context>

<issue_to_address>
**question:** The `auto` build_mode behaves as `manual` for workflow_dispatch but as tag-poll/nightly for schedule, which might be surprising.

For `workflow_dispatch`, `build_mode` stays as `"manual"` unless explicitly set to `tag-poll` or `nightly`, while for scheduled runs `auto` dynamically chooses between `nightly` and `tag-poll` based on the hour.

If `auto` is meant to always defer to that dynamic choice, consider applying the same logic to `workflow_dispatch` (or disallowing `auto` there). Otherwise, clarify in the input description that `auto` behaves as `manual` for `workflow_dispatch` so the difference from scheduled runs is explicit.
</issue_to_address>

Sourcery 对开源项目是免费的——如果你觉得我们的评审有帮助,欢迎分享 ✨
帮我变得更有用!请在每条评论上点击 👍 或 👎,我会根据这些反馈改进后续的评审。
Original comment in English

Hey - I've found 1 issue, and left some high level feedback:

  • When an invalid build_mode is provided you currently fall back silently to auto; consider failing the job or at least marking the run as clearly misconfigured (e.g., via ::warning or ::error) so mis-typed inputs don't go unnoticed.
  • The nightly hour default (3) is duplicated in several branches of the shell logic; consider centralizing this into a single DEFAULT_NIGHTLY_UTC_HOUR variable to reduce the chance of drift if the default changes.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- When an invalid `build_mode` is provided you currently fall back silently to `auto`; consider failing the job or at least marking the run as clearly misconfigured (e.g., via `::warning` or `::error`) so mis-typed inputs don't go unnoticed.
- The nightly hour default (`3`) is duplicated in several branches of the shell logic; consider centralizing this into a single `DEFAULT_NIGHTLY_UTC_HOUR` variable to reduce the chance of drift if the default changes.

## Individual Comments

### Comment 1
<location> `.github/workflows/build-desktop-tauri.yml:85-94` </location>
<code_context>
           source_git_ref="${ASTRBOT_SOURCE_GIT_REF}"
+          nightly_source_git_ref="${ASTRBOT_NIGHTLY_SOURCE_GIT_REF:-master}"
+          nightly_utc_hour="${ASTRBOT_NIGHTLY_UTC_HOUR:-3}"
+          requested_build_mode="$(printf '%s' "${WORKFLOW_BUILD_MODE:-auto}" | tr '[:upper:]' '[:lower:]')"
           should_build="true"
+          build_mode="manual"
</code_context>

<issue_to_address>
**question:** The `auto` build_mode behaves as `manual` for workflow_dispatch but as tag-poll/nightly for schedule, which might be surprising.

For `workflow_dispatch`, `build_mode` stays as `"manual"` unless explicitly set to `tag-poll` or `nightly`, while for scheduled runs `auto` dynamically chooses between `nightly` and `tag-poll` based on the hour.

If `auto` is meant to always defer to that dynamic choice, consider applying the same logic to `workflow_dispatch` (or disallowing `auto` there). Otherwise, clarify in the input description that `auto` behaves as `manual` for `workflow_dispatch` so the difference from scheduled runs is explicit.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/build-desktop-tauri.yml Outdated
@zouyonghe
Copy link
Copy Markdown
Member Author

@sourcery-ai review

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我发现了 1 个问题

供 AI 代理使用的提示
请根据这次代码评审中的评论进行修改:

## 单条评论

### 评论 1
<location> `.github/workflows/build-desktop-tauri.yml:149-159` </location>
<code_context>
+            fi
+          fi
+
+          if [ "${build_mode}" = "nightly" ]; then
+            source_git_ref="$(
+              git ls-remote "${source_git_url}" "refs/heads/${nightly_source_git_ref}" \
+                | awk 'NR==1{print $1}'
+            )"
+            if [ -z "${source_git_ref}" ]; then
+              echo "Unable to resolve latest commit from ${source_git_url} refs/heads/${nightly_source_git_ref}" >&2
+              exit 1
+            fi
+            echo "Nightly source resolved from ${nightly_source_git_ref}@${source_git_ref}"
+          elif [ "${build_mode}" = "tag-poll" ]; then
             latest_tag="$(git ls-remote --tags --refs "${source_git_url}" \
</code_context>

<issue_to_address>
**suggestion:** Nightly 引用相关的环境变量可以考虑增加更明确的约束或校验。

由于 `git ls-remote` 调用时使用的是 `"refs/heads/${nightly_source_git_ref}"`,如果 `ASTRBOT_NIGHTLY_SOURCE_GIT_REF` 配置错误、已经包含了 `refs/heads/`(例如 `refs/heads/main`),就会变成 `refs/heads/refs/heads/main`,最终只会表现为一个通用的 "Unable to resolve" 错误。如果该变量本意只是一个分支名,建议进行规范化处理(例如去掉前导的 `refs/heads/`),或者对其格式进行校验,在发现问题时尽早以更清晰的错误信息失败退出,从而让配置错误更容易调试。

```suggestion
          if [ "${build_mode}" = "nightly" ]; then
            nightly_branch="${nightly_source_git_ref}"

            if [ -z "${nightly_branch}" ]; then
              echo "ASTRBOT_NIGHTLY_SOURCE_GIT_REF (nightly_source_git_ref) must be set to a branch name or 'refs/heads/<branch>' for nightly builds." >&2
              exit 1
            fi

            case "${nightly_branch}" in
              refs/heads/*)
                echo "Normalizing nightly source ref '${nightly_branch}' to branch name for git ls-remote."
                nightly_branch="${nightly_branch#refs/heads/}"
                ;;
              refs/*)
                echo "ASTRBOT_NIGHTLY_SOURCE_GIT_REF (nightly_source_git_ref) must be a branch name or 'refs/heads/<branch>'; got '${nightly_branch}'." >&2
                exit 1
                ;;
            esac

            source_git_ref="$(
              git ls-remote "${source_git_url}" "refs/heads/${nightly_branch}" \
                | awk 'NR==1{print $1}'
            )"
            if [ -z "${source_git_ref}" ]; then
              echo "Unable to resolve latest commit from ${source_git_url} refs/heads/${nightly_branch} (configured ASTRBOT_NIGHTLY_SOURCE_GIT_REF='${nightly_source_git_ref}')." >&2
              exit 1
            fi
            echo "Nightly source resolved from ${nightly_branch}@${source_git_ref} (configured ASTRBOT_NIGHTLY_SOURCE_GIT_REF='${nightly_source_git_ref}')."
          elif [ "${build_mode}" = "tag-poll" ]; then
```
</issue_to_address>

Sourcery 对开源项目是免费的——如果你觉得我们的评审有帮助,欢迎帮忙分享 ✨
帮我变得更有用!请在每条评论上点 👍 或 👎,我会根据你的反馈改进后续评审。
Original comment in English

Hey - I've found 1 issue

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location> `.github/workflows/build-desktop-tauri.yml:149-159` </location>
<code_context>
+            fi
+          fi
+
+          if [ "${build_mode}" = "nightly" ]; then
+            source_git_ref="$(
+              git ls-remote "${source_git_url}" "refs/heads/${nightly_source_git_ref}" \
+                | awk 'NR==1{print $1}'
+            )"
+            if [ -z "${source_git_ref}" ]; then
+              echo "Unable to resolve latest commit from ${source_git_url} refs/heads/${nightly_source_git_ref}" >&2
+              exit 1
+            fi
+            echo "Nightly source resolved from ${nightly_source_git_ref}@${source_git_ref}"
+          elif [ "${build_mode}" = "tag-poll" ]; then
             latest_tag="$(git ls-remote --tags --refs "${source_git_url}" \
</code_context>

<issue_to_address>
**suggestion:** Nightly ref environment variable might benefit from clearer constraints or validation.

Because `git ls-remote` is called with `"refs/heads/${nightly_source_git_ref}"`, a misconfigured `ASTRBOT_NIGHTLY_SOURCE_GIT_REF` that already includes `refs/heads/` (e.g. `refs/heads/main`) will produce `refs/heads/refs/heads/main` and only surface as a generic "Unable to resolve" failure. If this variable is intended to be just a branch name, consider normalizing it (e.g. stripping a leading `refs/heads/`) or validating its format and failing fast with a clearer error to make misconfigurations easier to debug.

```suggestion
          if [ "${build_mode}" = "nightly" ]; then
            nightly_branch="${nightly_source_git_ref}"

            if [ -z "${nightly_branch}" ]; then
              echo "ASTRBOT_NIGHTLY_SOURCE_GIT_REF (nightly_source_git_ref) must be set to a branch name or 'refs/heads/<branch>' for nightly builds." >&2
              exit 1
            fi

            case "${nightly_branch}" in
              refs/heads/*)
                echo "Normalizing nightly source ref '${nightly_branch}' to branch name for git ls-remote."
                nightly_branch="${nightly_branch#refs/heads/}"
                ;;
              refs/*)
                echo "ASTRBOT_NIGHTLY_SOURCE_GIT_REF (nightly_source_git_ref) must be a branch name or 'refs/heads/<branch>'; got '${nightly_branch}'." >&2
                exit 1
                ;;
            esac

            source_git_ref="$(
              git ls-remote "${source_git_url}" "refs/heads/${nightly_branch}" \
                | awk 'NR==1{print $1}'
            )"
            if [ -z "${source_git_ref}" ]; then
              echo "Unable to resolve latest commit from ${source_git_url} refs/heads/${nightly_branch} (configured ASTRBOT_NIGHTLY_SOURCE_GIT_REF='${nightly_source_git_ref}')." >&2
              exit 1
            fi
            echo "Nightly source resolved from ${nightly_branch}@${source_git_ref} (configured ASTRBOT_NIGHTLY_SOURCE_GIT_REF='${nightly_source_git_ref}')."
          elif [ "${build_mode}" = "tag-poll" ]; then
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/build-desktop-tauri.yml Outdated
@zouyonghe
Copy link
Copy Markdown
Member Author

@sourcery-ai review

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我在这里提供了一些整体性的反馈:

  • resolve_build_context 步骤中的 shell 脚本已经变得相当庞大且复杂;可以考虑将构建模式(build-mode)和发布元数据(release-metadata)解析相关的逻辑提取到一个单独的脚本文件中,这样可以让工作流 YAML 更易读、更易维护。
  • 在 nightly 分支解析(对 nightly_source_git_ref 使用 git ls-remote)中,你可能需要为瞬时网络问题添加一个简单的重试机制,或者更清晰的错误分类,以避免一次偶发的调用失败就终止整个 nightly 流水线。
  • 在校验 ASTRBOT_NIGHTLY_UTC_HOUR 时,记录(log)最终归一化后的值(在通过数字与范围检查之后),并将其与调度决策一起输出,会有助于运维人员更容易诊断配置错误。
给 AI Agent 的提示
Please address the comments from this code review:

## Overall Comments
- The `resolve_build_context` step’s shell script is getting quite large and complex; consider extracting the build-mode and release-metadata resolution logic into a dedicated script file to make the workflow YAML easier to read and maintain.
- In the nightly branch resolution (`git ls-remote` for `nightly_source_git_ref`), you might want to add a short retry or clearer error classification for transient network issues so that a single flaky call doesn’t abort the entire nightly pipeline.
- When validating `ASTRBOT_NIGHTLY_UTC_HOUR`, it could be helpful to log the final normalized value (after numeric and range checks) alongside the schedule decision so operators can more easily diagnose misconfiguration.

Sourcery 对开源项目免费——如果你觉得我们的评审有帮助,欢迎分享 ✨
帮我变得更有用!请在每条评论上点击 👍 或 👎,我会根据这些反馈改进后续的评审。
Original comment in English

Hey - I've left some high level feedback:

  • The resolve_build_context step’s shell script is getting quite large and complex; consider extracting the build-mode and release-metadata resolution logic into a dedicated script file to make the workflow YAML easier to read and maintain.
  • In the nightly branch resolution (git ls-remote for nightly_source_git_ref), you might want to add a short retry or clearer error classification for transient network issues so that a single flaky call doesn’t abort the entire nightly pipeline.
  • When validating ASTRBOT_NIGHTLY_UTC_HOUR, it could be helpful to log the final normalized value (after numeric and range checks) alongside the schedule decision so operators can more easily diagnose misconfiguration.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- The `resolve_build_context` step’s shell script is getting quite large and complex; consider extracting the build-mode and release-metadata resolution logic into a dedicated script file to make the workflow YAML easier to read and maintain.
- In the nightly branch resolution (`git ls-remote` for `nightly_source_git_ref`), you might want to add a short retry or clearer error classification for transient network issues so that a single flaky call doesn’t abort the entire nightly pipeline.
- When validating `ASTRBOT_NIGHTLY_UTC_HOUR`, it could be helpful to log the final normalized value (after numeric and range checks) alongside the schedule decision so operators can more easily diagnose misconfiguration.

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@zouyonghe
Copy link
Copy Markdown
Member Author

@sourcery-ai review

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我发现了 2 个问题,并留下了一些总体反馈:

  • resolve-build-context.sh 中,用于轮询 tag 的分支仍然使用普通的 git ls-remote --tags,没有重试逻辑;建议改为使用 git_ls_remote_with_retry(或类似的辅助函数),这样可以像 nightly 分支解析一样受益于同样的瞬时网络故障处理。
  • 为解析 pyproject.toml 而通过 mktemp -d 创建的临时目录从未被清理;建议使用 trap 在脚本退出时将其删除,以避免多次运行时留下多余的临时目录。
  • workflow_dispatch 的构建模式处理目前把 auto 当作手动模式来处理,但此时 publish_release 可能仍然是 true;如果这种组合是不期望的,可能值得显式规范化或校验 WORKFLOW_BUILD_MODE/WORKFLOW_PUBLISH_RELEASE 这对参数,并在遇到不支持的组合时尽早失败。
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In `resolve-build-context.sh`, the tag polling branch still uses a plain `git ls-remote --tags` without retries; consider switching this to `git_ls_remote_with_retry` (or a similar helper) so it benefits from the same transient network handling as the nightly branch resolution.
- The temporary directory created via `mktemp -d` for resolving `pyproject.toml` is never cleaned up; consider a `trap` to remove it on exit to avoid leaving stray directories on repeated runs.
- The build-mode handling for `workflow_dispatch` treats `auto` as manual, but `publish_release` may still be `true`; if that combination is undesirable, it might be worth explicitly normalizing or validating the `WORKFLOW_BUILD_MODE`/`WORKFLOW_PUBLISH_RELEASE` pair and failing fast on unsupported combinations.

## Individual Comments

### Comment 1
<location> `.github/workflows/build-desktop-tauri.yml:78` </location>
<code_context>
-          fi
+          ASTRBOT_NIGHTLY_SOURCE_GIT_REF: ${{ env.ASTRBOT_NIGHTLY_SOURCE_GIT_REF }}
+          ASTRBOT_NIGHTLY_UTC_HOUR: ${{ env.ASTRBOT_NIGHTLY_UTC_HOUR }}
+        run: bash scripts/ci/resolve-build-context.sh

-          {
</code_context>

<issue_to_address>
**suggestion:** Tag-polling no longer benefits from the retry logic introduced for git ls-remote, which can make scheduled builds brittle under transient network issues.

`git_ls_remote_with_retry` in `resolve-build-context.sh` is only used for nightly branch resolution; tag polling still calls `git ls-remote --tags --refs` directly with no retries, so tag-based schedules remain fragile under transient network failures. Please update the tag-polling path to use this helper (or a tag-specific variant) so both modes share the same retry/backoff behavior.
</issue_to_address>

### Comment 2
<location> `scripts/ci/resolve-build-context.sh:66` </location>
<code_context>
+    attempt=$((attempt + 1))
+  done
+
+  echo "::error::Unable to resolve ${label} from ${source_url} after ${attempt} attempt(s)."
+  return 1
+}
</code_context>

<issue_to_address>
**nitpick (bug_risk):** The reported attempt count in the error message can be off by one in some transient-failure scenarios.

`attempt` is incremented at the end of the loop, but the final error uses `${attempt}` after the loop exits. When all retries are exhausted, `attempt` has already been incremented past `attempts`, so the error can overreport the number of attempts by one. Derive a `final_attempt=$((attempt - 1))` (or move the increment to the top of the loop) to report the actual number of attempts made.
</issue_to_address>

Sourcery 对开源项目免费使用——如果你觉得我们的评审有帮助,请考虑分享 ✨
帮我变得更有用!请对每条评论点 👍 或 👎,我会根据你的反馈改进后续评审。
Original comment in English

Hey - I've found 2 issues, and left some high level feedback:

  • In resolve-build-context.sh, the tag polling branch still uses a plain git ls-remote --tags without retries; consider switching this to git_ls_remote_with_retry (or a similar helper) so it benefits from the same transient network handling as the nightly branch resolution.
  • The temporary directory created via mktemp -d for resolving pyproject.toml is never cleaned up; consider a trap to remove it on exit to avoid leaving stray directories on repeated runs.
  • The build-mode handling for workflow_dispatch treats auto as manual, but publish_release may still be true; if that combination is undesirable, it might be worth explicitly normalizing or validating the WORKFLOW_BUILD_MODE/WORKFLOW_PUBLISH_RELEASE pair and failing fast on unsupported combinations.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- In `resolve-build-context.sh`, the tag polling branch still uses a plain `git ls-remote --tags` without retries; consider switching this to `git_ls_remote_with_retry` (or a similar helper) so it benefits from the same transient network handling as the nightly branch resolution.
- The temporary directory created via `mktemp -d` for resolving `pyproject.toml` is never cleaned up; consider a `trap` to remove it on exit to avoid leaving stray directories on repeated runs.
- The build-mode handling for `workflow_dispatch` treats `auto` as manual, but `publish_release` may still be `true`; if that combination is undesirable, it might be worth explicitly normalizing or validating the `WORKFLOW_BUILD_MODE`/`WORKFLOW_PUBLISH_RELEASE` pair and failing fast on unsupported combinations.

## Individual Comments

### Comment 1
<location> `.github/workflows/build-desktop-tauri.yml:78` </location>
<code_context>
-          fi
+          ASTRBOT_NIGHTLY_SOURCE_GIT_REF: ${{ env.ASTRBOT_NIGHTLY_SOURCE_GIT_REF }}
+          ASTRBOT_NIGHTLY_UTC_HOUR: ${{ env.ASTRBOT_NIGHTLY_UTC_HOUR }}
+        run: bash scripts/ci/resolve-build-context.sh

-          {
</code_context>

<issue_to_address>
**suggestion:** Tag-polling no longer benefits from the retry logic introduced for git ls-remote, which can make scheduled builds brittle under transient network issues.

`git_ls_remote_with_retry` in `resolve-build-context.sh` is only used for nightly branch resolution; tag polling still calls `git ls-remote --tags --refs` directly with no retries, so tag-based schedules remain fragile under transient network failures. Please update the tag-polling path to use this helper (or a tag-specific variant) so both modes share the same retry/backoff behavior.
</issue_to_address>

### Comment 2
<location> `scripts/ci/resolve-build-context.sh:66` </location>
<code_context>
+    attempt=$((attempt + 1))
+  done
+
+  echo "::error::Unable to resolve ${label} from ${source_url} after ${attempt} attempt(s)."
+  return 1
+}
</code_context>

<issue_to_address>
**nitpick (bug_risk):** The reported attempt count in the error message can be off by one in some transient-failure scenarios.

`attempt` is incremented at the end of the loop, but the final error uses `${attempt}` after the loop exits. When all retries are exhausted, `attempt` has already been incremented past `attempts`, so the error can overreport the number of attempts by one. Derive a `final_attempt=$((attempt - 1))` (or move the increment to the top of the loop) to report the actual number of attempts made.
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Comment thread .github/workflows/build-desktop-tauri.yml
Comment thread scripts/ci/resolve-build-context.sh Outdated
@zouyonghe
Copy link
Copy Markdown
Member Author

@sourcery-ai review

Copy link
Copy Markdown

@sourcery-ai sourcery-ai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - 我已经审核了你的更改,看起来很棒!


Sourcery 对开源项目是免费的——如果你喜欢我们的评审,请考虑分享它们 ✨
帮我变得更有用!请在每条评论上点 👍 或 👎,我会根据你的反馈改进后续的评审。
Original comment in English

Hey - I've reviewed your changes and they look great!


Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

@zouyonghe zouyonghe merged commit 2127ddc into AstrBotDevs:main Feb 21, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants