Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 23 additions & 6 deletions .github/workflows/upload.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,11 @@ jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
- uses: actions/checkout@v7.0.1
with:
persist-credentials: false

- uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0
- uses: actions/setup-node@v6.5.0
with:
node-version: 24
package-manager-cache: false
Expand All @@ -33,13 +33,15 @@ jobs:
corepack prepare yarn@4.18.0 --activate
yarn --version

- uses: calcit-lang/setup-calcit@704b3f5cd6f9ce3bd1e0c926dbdd1d181adb8180 # v1.4.0
- uses: calcit-lang/setup-calcit@v1.5.0
with:
tools: calcit,caps
caps-version: "0.1.1"
deps-file: deps.cirru

- name: Resolve Calcit dependencies
# Resolve the declared formal module tags independently of local module exports.
run: caps --ci
run: caps --strict --ci

- name: Install JavaScript dependencies
run: yarn install --immutable
Expand All @@ -49,22 +51,28 @@ jobs:

- name: Check canonical Calcit snapshot
run: |
set -euo pipefail
before="$(sha256sum calcit.cirru | cut -d ' ' -f 1)"
calcit calcit.cirru edit format
after="$(sha256sum calcit.cirru | cut -d ' ' -f 1)"
test "$before" = "$after"
git diff --exit-code -- calcit.cirru
test ! -e compact.cirru
test ! -e package.cirru

- name: Check Calcit types
run: |
set -euo pipefail
calcit calcit.cirru --check-only --all-defs
calcit calcit.cirru fix --workflow strict --verify --format json
calcit calcit.cirru fix --workflow strict --verify --format json | jq -e '.data.workflow.status == "passed" and .diagnostics == []'

- name: Check application dynamic methods
run: calcit calcit.cirru analyze weak-types --only dynamic-method --format json

- name: Check deprecated Calcit APIs
run: calcit calcit.cirru analyze weak-types --only deprecated-call --summary-only
run: |
set -euo pipefail
calcit calcit.cirru analyze weak-types --only deprecated-call --summary-only --format json | jq -e '.data.summary.calls == 0'

- name: Audit provider dynamic methods
run: calcit calcit.cirru analyze weak-types --only dynamic-method --deps --format json
Expand All @@ -91,6 +99,15 @@ jobs:
test -z "$(grep -E 'axios-' extension/dist/index.html)"
test -z "$(grep -R 'feathericons.com' extension/dist/assets || true)"

- name: Save tested local-assets build for acceptance
if: github.event_name == 'pull_request'
uses: actions/upload-artifact@v7.0.1
with:
name: extension-frontend-${{ github.run_id }}-${{ github.run_attempt }}
path: extension/dist
if-no-files-found: error
retention-days: 7

- name: Select CDN asset path
id: asset-path
env:
Expand Down
22 changes: 18 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,24 @@ PR 网页预览按 `Termina/msg-buffer/pr/<PR 编号>/<run ID>/<attempt>/` 隔
同仓库 PR 与生产上传需要 `COS_BUCKET`、`COS_SECRET_ID`、`COS_SECRET_KEY`;fork PR 不上传。
服务器继续仅在 main push 部署 `dist/*` 到原路径,本次只更新前端资源配置。

### Calcit 0.30.1 迁移候选(尚未交付)

本分支将 CLI 与 `@calcit/procs` 配对固定为已发布的 `0.30.1-alpha.5`,Calcit 模块改用正式 tag。
0.30.1 正式版的 CLI/npm 配对发布尚未完成,暂不只升级其中一端。
### 正式 Calcit 0.30.1 迁移

本分支将 CLI 与 `@calcit/procs` 配对固定为正式 `0.30.1`,升级到 Alerts 0.10.57、Reel 0.6.41、
Markdown 0.4.59、UI 0.8.0、Respo 0.16.124、JS-FFI 0.2.5,全部使用精确正式 tag。
升级后重启开发服务并刷新页面,不混用旧 runtime;不改变存档、模型服务地址或网页/扩展资源分离合同。

本轮迁移 41 处源码及原测试中的 2 处 Option helper 调用,改为 `.fold`、`.unwrap-or`、`.unwrap`。
保持默认值、惰性分支回调、8 项原测试、1 个示例及两处 `hud!` 不变,不增加强转或放宽质量基线。
存档仍异步恢复;自动保存监听器只在恢复成功或确认无存档后注册,恢复失败不覆盖原值。
通过具备 `Fn() -> Unit` 合同的完成回调复用原监听器,不吞异常、不改存档格式,也不转移宿主强转来规避基线。
源码提交 `f355f51` 的正式 Linux CI `39928756920` 通过原完整 strict、8 项测试、扩展包与 COS 内置校验。
同次相对资源 artifact 校验 SHA256 后,在全新 localhost 来源验证草稿、搜索开关、模型选择、空历史面板及刷新恢复;
未发送模型请求、读取真实密钥或安装扩展。坏存档验收仍待限定授权,不把正常恢复当作失败保护的完整证据。

官方 lower-only 生成器在独立非 PR 分支的正式 CI `39929283700` 中收紧原基线:
unsafe 85→11、typeNotFull 65→58、schemaDynamic 46→43、unresolved 71→68,其余不变。
这是移除旧预算余量,不是本轮删除 74 处强转;逐定义同步降低,不在应用 CI 自动重写,也不新增预算。
下面是此前 alpha 候选的迁移记录,不能替代本轮正式版验收。收紧后的最终 CI 仍以最新 PR HEAD 为准。

存档格式、模型选择、扩展消息和网页/扩展资源分离的合同不变。DOM 挂载查询改为带明确能力合同的函数,
存档恢复区分具名 Struct 与旧 Map,并检查 Map 的键和值;同步回调明确返回 Unit。
Expand Down
Loading
Loading