feat: GitHub 发布生成皮肤站完整更新包
Axolotl desktop CI / guardrails (push) Has been cancelled
Repository checks / typos (push) Has been cancelled
Repository checks / tombi (push) Has been cancelled
Rust checks / shear (push) Has been cancelled
Sync source to CNB / Sync Git ref (push) Has been cancelled
Starlight release / Release preflight (push) Has been cancelled
Prepare pnpm cache / prepare (push) Has been cancelled
Axolotl desktop CI / desktop (macos-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (ubuntu-latest) (push) Has been cancelled
Axolotl desktop CI / desktop (windows-latest) (push) Has been cancelled
Axolotl desktop CI / website (push) Has been cancelled
Starlight release / Build (Windows x64) (push) Has been cancelled
Starlight release / Build (Linux arm64) (push) Has been cancelled
Starlight release / Build (Linux x64) (push) Has been cancelled
Starlight release / Build (macOS universal) (push) Has been cancelled
Starlight release / Verify and publish (push) Has been cancelled
Sync LobeHub models / sync (push) Has been cancelled

This commit is contained in:
Disy committed 2026-09-28 15:27:14 +08:00
1 parent ce0f41c973
commit efbf998ebb
4 files changed
+59 -2

No files matched your search

+23
View File
@@ -351,6 +351,29 @@ jobs:
release-check/update-server-catalog.json release-check/update-server-catalog.json
node scripts/axolotl/create-update-server-catalog.test.mjs node scripts/axolotl/create-update-server-catalog.test.mjs
- name: Build complete skin-site update package
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
version="${GITHUB_REF_NAME#v}"
bundle_root="release-check/skin-site-update"
bundle_name="Starlight_Launcher_${version}_skin-site-update.zip"
mkdir -p "${bundle_root}/files"
gh release download "${GITHUB_REF_NAME}" --dir "${bundle_root}/files"
find "${bundle_root}/files" -maxdepth 1 -type f \
\( -name 'latest.json' -o -name '*_skin-site-update.zip' \) -delete
cp release-check/latest.json "${bundle_root}/latest.json"
cp release-check/update-server-catalog.json "${bundle_root}/update-server-catalog.json"
cp release-check/release.json "${bundle_root}/release.json"
(
cd "${bundle_root}"
zip -r -9 "../${bundle_name}" latest.json update-server-catalog.json release.json files
)
gh release upload "${GITHUB_REF_NAME}" "release-check/${bundle_name}" --clobber
- name: Notify Update Server to publish release assets - name: Notify Update Server to publish release assets
if: ${{ env.UPDATE_SERVER_URL != '' && env.UPDATE_SERVER_WEBHOOK_SECRET != '' }} if: ${{ env.UPDATE_SERVER_URL != '' && env.UPDATE_SERVER_WEBHOOK_SECRET != '' }}
env: env:
@@ -32,6 +32,31 @@ export const ANNOUNCEMENT_CHANGE_TYPES: readonly AnnouncementChangeType[] = [
] ]
export const launcherAnnouncements: readonly LauncherAnnouncement[] = [ export const launcherAnnouncements: readonly LauncherAnnouncement[] = [
{
id: 'launcher-1.0.1-beta2',
version: '1.0.1-beta2',
publishedAt: '2026-09-28',
title: {
'en-US': 'Starlight Launcher 1.0.1-beta2',
'zh-CN': 'Starlight Launcher 1.0.1-beta2',
},
changes: {
added: [
{
'en-US':
'GitHub releases now include one complete update package for publishing to the StarLight skin site.',
'zh-CN': 'GitHub 发布现会生成一个可直接发布到 StarLight 皮肤站的完整更新包。',
},
],
fixed: [
{
'en-US':
'Improved the reliability of live logs and database switching.',
'zh-CN': '提高实时日志与数据库切换的可靠性。',
},
],
},
},
{ {
id: 'launcher-1.0.1-beta1', id: 'launcher-1.0.1-beta1',
version: '1.0.1-beta1', version: '1.0.1-beta1',
@@ -21,6 +21,10 @@ function updaterTargets(filename) {
return null return null
} }
function isSkinSiteUpdateBundle(filename) {
return filename.endsWith('_skin-site-update.zip')
}
function describe(filename) { function describe(filename) {
const targets = updaterTargets(filename) const targets = updaterTargets(filename)
if (targets) { if (targets) {
@@ -69,7 +73,7 @@ function digest(asset) {
} }
const assets = release.assets const assets = release.assets
.filter((asset) => asset.name !== 'latest.json') .filter((asset) => asset.name !== 'latest.json' && !isSkinSiteUpdateBundle(asset.name))
.map((asset) => ({ .map((asset) => ({
filename: asset.name, filename: asset.name,
size: asset.size, size: asset.size,
@@ -37,6 +37,7 @@ const files = [
'Axolotl_Launcher_1.9.5-beta.1_x64_nsis-setup.exe', 'Axolotl_Launcher_1.9.5-beta.1_x64_nsis-setup.exe',
'Axolotl_Launcher_1.9.5-beta.1_x64_nsis-setup.exe.sig', 'Axolotl_Launcher_1.9.5-beta.1_x64_nsis-setup.exe.sig',
'Axolotl_Launcher_1.9.5-beta.1_x64_portable.zip', 'Axolotl_Launcher_1.9.5-beta.1_x64_portable.zip',
'Starlight_Launcher_1.9.5-beta.1_skin-site-update.zip',
] ]
try { try {
@@ -59,7 +60,11 @@ try {
assert.equal(result.status, 0, result.stderr) assert.equal(result.status, 0, result.stderr)
const catalog = JSON.parse(fs.readFileSync(output, 'utf8')) const catalog = JSON.parse(fs.readFileSync(output, 'utf8'))
assert.equal(catalog.version, '1.9.5-beta.1') assert.equal(catalog.version, '1.9.5-beta.1')
assert.equal(catalog.files.length, files.length) assert.equal(catalog.files.length, files.length - 1)
assert.equal(
catalog.files.some((artifact) => artifact.filename.endsWith('_skin-site-update.zip')),
false,
)
assert.deepEqual( assert.deepEqual(
catalog.artifacts.find((artifact) => artifact.filename.endsWith('_amd64.AppImage.tar.gz')) catalog.artifacts.find((artifact) => artifact.filename.endsWith('_amd64.AppImage.tar.gz'))
.targetPlatforms, .targetPlatforms,