Skip to content

Commit a1ffa19

Browse files
committed
ci release nightly builds from upstream master with nightly suffix
1 parent 9590a88 commit a1ffa19

1 file changed

Lines changed: 39 additions & 4 deletions

File tree

.github/workflows/build-desktop-tauri.yml

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,9 @@ jobs:
3838
should_build: ${{ steps.resolve.outputs.should_build }}
3939
build_mode: ${{ steps.resolve.outputs.build_mode }}
4040
publish_release: ${{ steps.resolve.outputs.publish_release }}
41+
release_tag: ${{ steps.resolve.outputs.release_tag }}
42+
release_name: ${{ steps.resolve.outputs.release_name }}
43+
release_prerelease: ${{ steps.resolve.outputs.release_prerelease }}
4144
steps:
4245
- name: Checkout
4346
uses: actions/checkout@v6.0.2
@@ -70,6 +73,9 @@ jobs:
7073
should_build="true"
7174
build_mode="manual"
7275
publish_release="false"
76+
release_tag=""
77+
release_name=""
78+
release_prerelease="false"
7379
7480
if [ "${GITHUB_EVENT_NAME}" = "workflow_dispatch" ]; then
7581
if [ -n "${WORKFLOW_SOURCE_GIT_URL:-}" ]; then
@@ -86,8 +92,16 @@ jobs:
8692
if [ "${GITHUB_EVENT_NAME}" = "schedule" ]; then
8793
if [ "${GITHUB_EVENT_SCHEDULE:-}" = "${NIGHTLY_CRON}" ]; then
8894
build_mode="nightly"
89-
publish_release="false"
90-
echo "Scheduled nightly run: building from ${source_git_ref}"
95+
publish_release="true"
96+
source_git_ref="$(
97+
git ls-remote "${source_git_url}" refs/heads/master \
98+
| awk 'NR==1{print $1}'
99+
)"
100+
if [ -z "${source_git_ref}" ]; then
101+
echo "Unable to resolve latest commit from ${source_git_url} refs/heads/master" >&2
102+
exit 1
103+
fi
104+
echo "Scheduled nightly run: building from master@${source_git_ref}"
91105
else
92106
build_mode="tag-poll"
93107
publish_release="true"
@@ -141,19 +155,37 @@ jobs:
141155
fi
142156
fi
143157
158+
if [ "${build_mode}" = "nightly" ] && [ "${should_build}" = "true" ]; then
159+
nightly_date="$(date -u +%Y%m%d)"
160+
short_sha="$(printf '%s' "${source_git_ref}" | cut -c1-8)"
161+
version="${version}-nightly.${nightly_date}.${short_sha}"
162+
release_tag="v${version}"
163+
release_name="AstrBot Desktop ${version}"
164+
release_prerelease="true"
165+
elif [ "${publish_release}" = "true" ] && [ "${should_build}" = "true" ]; then
166+
release_tag="v${version}"
167+
release_name="AstrBot Desktop v${version}"
168+
release_prerelease="false"
169+
fi
170+
144171
{
145172
echo "source_git_url=${source_git_url}"
146173
echo "source_git_ref=${source_git_ref}"
147174
echo "astrbot_version=${version}"
148175
echo "should_build=${should_build}"
149176
echo "build_mode=${build_mode}"
150177
echo "publish_release=${publish_release}"
178+
echo "release_tag=${release_tag}"
179+
echo "release_name=${release_name}"
180+
echo "release_prerelease=${release_prerelease}"
151181
} >> "${GITHUB_OUTPUT}"
152182
echo "Resolved source: ${source_git_url}@${source_git_ref}"
153183
echo "Resolved AstrBot version: ${version}"
154184
echo "Build enabled: ${should_build}"
155185
echo "Build mode: ${build_mode}"
156186
echo "Publish release: ${publish_release}"
187+
echo "Release tag: ${release_tag:-<none>}"
188+
echo "Release prerelease: ${release_prerelease}"
157189
158190
sync_repo_version:
159191
name: Sync Repository Version
@@ -516,13 +548,16 @@ jobs:
516548
- name: Create or update release
517549
uses: softprops/action-gh-release@v2.5.0
518550
with:
519-
tag_name: v${{ needs.resolve_build_context.outputs.astrbot_version }}
520-
name: AstrBot Desktop v${{ needs.resolve_build_context.outputs.astrbot_version }}
551+
tag_name: ${{ needs.resolve_build_context.outputs.release_tag }}
552+
name: ${{ needs.resolve_build_context.outputs.release_name }}
521553
body: |
522554
Automated desktop package release.
523555
- Source: `${{ needs.resolve_build_context.outputs.source_git_url }}`
524556
- Ref: `${{ needs.resolve_build_context.outputs.source_git_ref }}`
557+
- Mode: `${{ needs.resolve_build_context.outputs.build_mode }}`
525558
- Windows tip: prefer `nsis-web` installer for smaller downloads and faster install startup.
526559
generate_release_notes: true
560+
prerelease: ${{ needs.resolve_build_context.outputs.release_prerelease == 'true' }}
561+
make_latest: ${{ needs.resolve_build_context.outputs.release_prerelease != 'true' }}
527562
files: release-artifacts/**/*
528563
fail_on_unmatched_files: true

0 commit comments

Comments
 (0)