fix: restore release index publication

The v0.10.2 native packages completed, but the publication job rejected the valid --base-url option before any GitHub Release or mirror assets were published. Normalize CLI option names and cover the exact workflow arguments with a regression test.

Advance recovery metadata to 0.10.3 and move the approved user-facing notes forward, removing the unpublished 0.10.2 note to avoid a duplicate first-open display.

Release note: 0.10.3 carries forward the approved mirror-node and conversation timestamp improvements from the unpublished 0.10.2 candidate.
This commit is contained in:
mesalogo
2026-08-17 21:21:07 +08:00
parent 255df74d87
commit 53dc0e7c4d
5 changed files with 37 additions and 12 deletions
+8 -6
View File
@@ -16,18 +16,20 @@ const supportedTargets = new Map([
function parseArguments(argv) {
const options = {}
const optionNames = new Map([
['--manifest', 'manifest'],
['--base-url', 'baseUrl'],
['--output', 'output']
])
for (let index = 0; index < argv.length; index += 1) {
const argument = argv[index]
if (
argument === '--manifest' ||
argument === '--base-url' ||
argument === '--output'
) {
const optionName = optionNames.get(argument)
if (optionName) {
const value = argv[index + 1]
if (!value) {
throw new Error(`${argument} 缺少值`)
}
options[argument.slice(2)] = value
options[optionName] = value
index += 1
} else {
throw new Error(`未知参数:${argument}`)
+2 -2
View File
@@ -1,12 +1,12 @@
{
"name": "goodbuddy",
"version": "0.10.2",
"version": "0.10.3",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "goodbuddy",
"version": "0.10.2",
"version": "0.10.3",
"license": "0BSD",
"dependencies": {
"@agentclientprotocol/sdk": "0.25.1",
+1 -1
View File
@@ -1,6 +1,6 @@
{
"name": "goodbuddy",
"version": "0.10.2",
"version": "0.10.3",
"private": true,
"description": "Secure desktop AI workspace with controlled Agent Runtimes",
"desktopName": "GoodBuddy",
+3 -3
View File
@@ -2,12 +2,12 @@
"formatVersion": 1,
"releases": [
{
"version": "0.10.2",
"version": "0.10.3",
"releasedAt": "2026-08-17",
"notes": {
"zh-CN": {
"highlights": [
"GoodBuddy 0.10.2 新增可选的镜像节点,并改进最近对话的时间显示。"
"GoodBuddy 0.10.3 新增可选的镜像节点,并改进最近对话的时间显示。"
],
"features": [
"**镜像节点与更新源。** 在“关于与更新”中可选择 GitHub(默认)或镜像节点。手动检查、启动时检查和打开下载页会使用同一选择,应用仍只检查版本,不会自动下载安装。"
@@ -21,7 +21,7 @@
},
"en-US": {
"highlights": [
"GoodBuddy 0.10.2 adds an optional mirror node and improves how recent conversation times are displayed."
"GoodBuddy 0.10.3 adds an optional mirror node and improves how recent conversation times are displayed."
],
"features": [
"**Mirror node and update source.** About & Updates now lets you choose GitHub (default) or the mirror node. Manual checks, startup checks, and the download page use the same selection. GoodBuddy still checks versions only and never downloads or installs updates automatically."
+23
View File
@@ -1,4 +1,5 @@
import { createRequire } from 'node:module'
import { resolve } from 'node:path'
import { describe, expect, it, vi } from 'vitest'
interface ReleaseFile {
@@ -9,6 +10,11 @@ interface ReleaseFile {
}
interface SiteReleaseModule {
parseArguments: (argv: string[]) => {
manifest: string
baseUrl: string
output: string
}
createSiteRelease: (
manifest: object,
baseUrl: string
@@ -68,6 +74,23 @@ function createAggregateManifest() {
}
describe('site release manifest', () => {
it('parses the CLI options used by the release workflow', () => {
expect(
siteRelease.parseArguments([
'--manifest',
'dist/release-upload/release-manifest.json',
'--base-url',
'https://example.com/releases/v1.2.3/',
'--output',
'dist/site-release.json'
])
).toEqual({
manifest: resolve('dist/release-upload/release-manifest.json'),
baseUrl: 'https://example.com/releases/v1.2.3/',
output: resolve('dist/site-release.json')
})
})
it('creates direct HTTPS download entries for all release targets', () => {
const result = siteRelease.createSiteRelease(
createAggregateManifest(),