diff --git a/.github/workflows/packages.yml b/.github/workflows/packages.yml index 4aed9bb..d434245 100644 --- a/.github/workflows/packages.yml +++ b/.github/workflows/packages.yml @@ -30,9 +30,9 @@ jobs: timeout-minutes: 20 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v7 with: node-version: 24 cache: npm @@ -54,7 +54,7 @@ jobs: run: npm run build:bundle - name: Upload production bundle - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: goodbuddy-production-bundle path: out @@ -90,15 +90,15 @@ jobs: timeout-minutes: 75 steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v7 with: node-version: 24 cache: npm - name: Cache packaging toolsets - uses: actions/cache@v4 + uses: actions/cache@v6 with: path: | ${{ runner.temp }}/electron @@ -112,7 +112,7 @@ jobs: ELECTRON_CACHE: ${{ runner.temp }}/electron - name: Download production bundle - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: goodbuddy-production-bundle path: out @@ -124,7 +124,7 @@ jobs: ELECTRON_BUILDER_CACHE: ${{ runner.temp }}/electron-builder - name: Upload release packages - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: name: goodbuddy-${{ matrix.platform }}-${{ matrix.arch }} path: dist/release/${{ matrix.platform }}-${{ matrix.arch }} @@ -143,11 +143,11 @@ jobs: actions: read steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v7 with: fetch-depth: 0 - - uses: actions/setup-node@v4 + - uses: actions/setup-node@v7 with: node-version: 24 @@ -160,19 +160,19 @@ jobs: test "$(git rev-parse "refs/tags/$GITHUB_REF_NAME^{commit}")" = "$GITHUB_SHA" - name: Download Windows packages - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: goodbuddy-windows-* path: dist/release-downloads - name: Download macOS packages - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: goodbuddy-macos-* path: dist/release-downloads - name: Download Linux packages - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: pattern: goodbuddy-linux-* path: dist/release-downloads diff --git a/AGENTS.md b/AGENTS.md index 6f22540..31685ce 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -76,8 +76,9 @@ Keep Electron security boundaries intact: - `build/build-release.cjs` verifies the unpacked application, `app.asar`, bundled Continue and OpenCode runtimes, executable architecture, and package signatures before atomically replacing a release directory. -- Keep electron-builder invocations on `--publish never`. Current CI uploads - 30-day GitHub Actions artifacts and does not create GitHub Release assets. +- Keep electron-builder invocations on `--publish never`. Main-branch builds + upload 30-day GitHub Actions artifacts. Version-tag builds additionally + verify and aggregate packages before publishing GitHub Release assets. Signing and macOS notarization are not configured. - Keep `ELECTRON_CACHE` and `ELECTRON_BUILDER_CACHE` under `${{ runner.temp }}` in step-level workflow contexts. A cache beneath the diff --git a/package-lock.json b/package-lock.json index 9cfd80e..6710c8d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "goodbuddy", - "version": "0.8.0", + "version": "0.8.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "goodbuddy", - "version": "0.8.0", + "version": "0.8.1", "license": "UNLICENSED", "dependencies": { "@modelcontextprotocol/sdk": "^1.30.0", diff --git a/package.json b/package.json index 00da38d..bb161b8 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "goodbuddy", - "version": "0.8.0", + "version": "0.8.1", "private": true, "description": "Secure desktop AI workspace with controlled Agent Runtimes", "desktopName": "GoodBuddy", diff --git a/sites/README.md b/sites/README.md index 604d9cd..6cf57ed 100644 --- a/sites/README.md +++ b/sites/README.md @@ -24,17 +24,20 @@ node --check sites/site.config.js ## Release 配置 -未来 v0.8.0 Release 地址集中在 `site.config.js`: +当前版本的 Release 地址集中在 `site.config.js`,版本号必须与根目录 +`package.json` 保持一致: ```js window.GOODBUDDY_SITE_CONFIG = Object.freeze({ - version: "0.8.0", - releasePublished: false, - releaseUrl: "https://github.com/mesalogo/goodbuddy/releases/tag/v0.8.0", + version: "0.8.1", + releasePublished: true, + releaseUrl: "https://github.com/mesalogo/goodbuddy/releases/tag/v0.8.1", }); ``` -正式 Release 确认发布后,将 `releasePublished` 改为 `true`,页面上的下载入口才会指向 Release 页面。官网不配置或猜测具体安装资产名称。 +准备尚未发布的版本时,将 `releasePublished` 暂时设为 `false`;正式 +Release 确认发布后改回 `true`,页面上的下载入口才会指向 Release +页面。官网不配置或猜测具体安装资产名称。 ## 文件 diff --git a/sites/app.js b/sites/app.js index 6ab8919..748a32f 100644 --- a/sites/app.js +++ b/sites/app.js @@ -48,12 +48,16 @@ const configureReleaseLinks = () => { const releaseLinks = document.querySelectorAll("[data-release-link]"); + const hasValidVersion = + typeof config?.version === "string" && + /^\d+\.\d+\.\d+$/.test(config.version); + const expectedReleaseUrl = hasValidVersion + ? `https://github.com/mesalogo/goodbuddy/releases/tag/v${config.version}` + : ""; const isReady = config?.releasePublished === true && typeof config.releaseUrl === "string" && - /^https:\/\/github\.com\/mesalogo\/goodbuddy\/releases\/tag\/v0\.8\.0$/.test( - config.releaseUrl, - ); + config.releaseUrl === expectedReleaseUrl; releaseLinks.forEach((link) => { if (!isReady) { diff --git a/sites/index.html b/sites/index.html index 0d30fe8..75003e5 100644 --- a/sites/index.html +++ b/sites/index.html @@ -5,7 +5,7 @@
@@ -384,7 +384,7 @@
- v0.8.0 Release 尚未发布。下载入口将在发布后统一开放,目前不提供虚构的资产名称或下载地址。 + v0.8.1 Release 提供经过校验的跨平台安装包与哈希清单,下载入口统一指向 GitHub Release。
@@ -484,7 +484,7 @@GoodBuddy 0.8.0
+GoodBuddy 0.8.1
关注 Release,第一时间获取正式版本、校验信息与完整更新说明。