From b0b1bdc16a999bdfaf0a657b1dee6eb77be1ea45 Mon Sep 17 00:00:00 2001 From: tiye Date: Thu, 22 Oct 2026 07:47:41 +0800 Subject: [PATCH 1/2] =?UTF-8?q?=E8=BF=81=E7=A7=BB=E6=AD=A3=E5=BC=8F=20Calc?= =?UTF-8?q?it=200.30.1=EF=BC=8C=E5=85=88=E6=81=A2=E5=A4=8D=E5=AD=98?= =?UTF-8?q?=E6=A1=A3=E5=B9=B6=E6=94=B6=E6=95=9B=20Yarn=20=E5=AE=89?= =?UTF-8?q?=E5=85=A8=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/upload.yaml | 10 ++++++++-- .yarnrc.yml | 8 ++------ README.md | 29 +++++++++++++++++------------ calcit.cirru | 8 ++++---- deps.cirru | 12 ++++++------ package.json | 2 +- yarn.lock | 10 +++++----- 7 files changed, 43 insertions(+), 36 deletions(-) diff --git a/.github/workflows/upload.yaml b/.github/workflows/upload.yaml index cc5308d..5c306cc 100644 --- a/.github/workflows/upload.yaml +++ b/.github/workflows/upload.yaml @@ -27,6 +27,7 @@ jobs: deps-file: deps.cirru - name: Install dependencies run: | + set -euo pipefail corepack enable corepack prepare yarn@4.18.0 --activate caps --strict --ci @@ -38,15 +39,20 @@ jobs: calcit edit format git diff --exit-code -- calcit.cirru calcit --check-only --all-defs --format json - calcit fix --workflow strict --verify --format json + calcit fix --workflow strict --verify --format json | jq -e '.data.workflow.status == "passed" and .diagnostics == []' calcit --check-only --ns app.config --ns app.main --ns app.schema --ns app.updater --ns app.util --ns app.comp.container --ns app.comp.showcase --summary-only --format json calcit analyze weak-types --ns-prefix app --only deprecated-call --summary-only --format json | jq -e '.data.summary.calls == 0' calcit analyze weak-types --only dynamic-method --summary-only --format json | jq -e '.data.summary.findings == 0' calcit test --require-match --summary-only --format json - name: Build frontend run: | + set -euo pipefail calcit js - yarn vite build --base="https://cos-sh.tiye.me/${GITHUB_REPOSITORY}/" + base_url="https://cos-sh.tiye.me/${GITHUB_REPOSITORY}/" + if [[ "$GITHUB_EVENT_NAME" == "pull_request" ]]; then + base_url="./" + fi + yarn vite build --base="$base_url" - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 with: name: client-dist diff --git a/.yarnrc.yml b/.yarnrc.yml index 063ed60..723e356 100644 --- a/.yarnrc.yml +++ b/.yarnrc.yml @@ -1,8 +1,4 @@ -approvedGitRepositories: - - "**" - -enableScripts: true - nodeLinker: node-modules -npmMinimalAgeGate: 0 +npmPreapprovedPackages: + - "@calcit/procs@0.30.1" diff --git a/README.md b/README.md index 6767738..f81c006 100644 --- a/README.md +++ b/README.md @@ -8,15 +8,15 @@ ClojureScript, beginners' home page ### Workflow -The application uses paired Calcit / `@calcit/procs` 0.30.1-alpha.5, with stable -module releases pinned in `deps.cirru`. Node.js 24 and Yarn 4.18.0 are used for -the frontend build. `content/*.cljs` are displayed ClojureScript examples, not -Calcit application source. +使用者影响:应用使用精确配套正式 Calcit / `@calcit/procs` **0.30.1**,以及 +Respo 0.16.124、Reel 0.6.41、Markdown 0.4.59、UI 0.8.0、js-ffi 0.2.5 +(传递 Router 0.8.37),Node.js 24 / Yarn 4.18.0。升级后完整刷新,UI 0.8 +基础样式可能改变外观。`content/*.cljs` 是展示用 ClojureScript 示例,不是待迁移的 Calcit 应用源码。 -This is a 0.30.1 candidate migration, not a completed stable 0.30.1 release: -the stable release currently has no CLI assets. Visitor navigation, the legacy -saved Map format and random showcase selection are preserved. The header logo -uses HTTPS at the same host/path, and site credits now name Calcit and Respo. +原导航、展示内容、高亮、Map 存档字段与启动时随机展示选择保持不变。 +启动先读取并解码原存档,再渲染及注册保存监听;解析或解码失败时停止启动,不先注册 +可能覆盖原值的 `beforeunload`。不吞异常、不添加默认存档,也不把正常刷新验收称为 +全部损坏存档场景证明。Logo 继续使用原 HTTPS 地址。 ```sh caps --strict --ci @@ -39,15 +39,20 @@ when restored. Startup still chooses a random showcase, as before. CI checks all admitted definitions, the full strict workflow and all application public definitions, runs the two attached updater/hydration tests, and builds the frontend. -Local acceptance also includes real browser rendering, code highlighting, -showcase clicks, and refresh/hydration without runtime errors. +旧 alpha.5 曾完成真实浏览器渲染、高亮、展示切换与刷新验收;这不替代本轮正式图的 +CI 和实际浏览器证据。保留已有两项 updater/hydration 测试,不新增验证脚本或预算。 + +Yarn 恢复默认 Git 审批与包等待期,只预批准精确 `@calcit/procs@0.30.1`,不再 +通配批准任意 Git 仓库或关闭包等待期。 Main/master deployment uploads frontend resources through `worktools/cos-upload-action` with built-in public checksum verification. The original server destination is unchanged. Repository deployment requires `COS_BUCKET`, `COS_SECRET_ID`, `COS_SECRET_KEY`, and `rsync_private_key`; -no deployment secrets were listed during this migration. PR checks build -without deployment credentials. Generated `js-out/` and `dist/` stay untracked. +PR checks build without deployment credentials, using relative paths in the +existing frontend artifact for local acceptance; production uses the original +COS base. No secret availability or production success is inferred from PR CI. +Generated `js-out/` and `dist/` stay untracked. ### License diff --git a/calcit.cirru b/calcit.cirru index 192a9e5..7108a16 100644 --- a/calcit.cirru +++ b/calcit.cirru @@ -268,15 +268,15 @@ println "|Running mode:" $ if config/dev? |dev |release if config/dev? $ load-console-formatter! register-language! |clojure clojure-lang - render-app! - add-watch! *reel :changes $ fn (r p) (render-app!) - listen-devtools! |a dispatch! - browser/add-event-listener! |beforeunload $ fn (event) (save-store!) match browser/storage-get $ :storage-key config/site (:some raw) dispatch! $ :: :hydrate-storage $ parse-cirru-edn raw (:none) &unit + render-app! + add-watch! *reel :changes $ fn (r p) (render-app!) + listen-devtools! |a dispatch! + browser/add-event-listener! |beforeunload $ fn (event) (save-store!) dispatch! $ :: :pick-case $ rand-int 10 println "|App started." :examples $ [] diff --git a/deps.cirru b/deps.cirru index a950800..f7a66dc 100644 --- a/deps.cirru +++ b/deps.cirru @@ -1,7 +1,7 @@ -{} (:calcit-version |0.30.1-alpha.5) (:version |0.1.0) +{} (:calcit-version |0.30.1) (:version |0.1.0) :dependencies $ {} - |Respo/respo.calcit |0.16.122 - |Respo/reel.calcit |0.6.39 - |Respo/respo-markdown.calcit |0.4.56 - |Respo/respo-ui.calcit |0.7.41 - |calcit-lang/js-ffi |0.2.3 + |Respo/respo.calcit |0.16.124 + |Respo/reel.calcit |0.6.41 + |Respo/respo-markdown.calcit |0.4.59 + |Respo/respo-ui.calcit |0.8.0 + |calcit-lang/js-ffi |0.2.5 diff --git a/package.json b/package.json index 0d89b51..6887dbf 100644 --- a/package.json +++ b/package.json @@ -21,7 +21,7 @@ "vite": "8.3.1" }, "dependencies": { - "@calcit/procs": "0.30.1-alpha.5", + "@calcit/procs": "0.30.1", "@calcit/std": "^0.0.2", "cirru-color": "^0.2.4", "copy-text-to-clipboard": "^3.2.2", diff --git a/yarn.lock b/yarn.lock index b55a8d3..25b9c24 100644 --- a/yarn.lock +++ b/yarn.lock @@ -12,15 +12,15 @@ __metadata: languageName: node linkType: hard -"@calcit/procs@npm:0.30.1-alpha.5": - version: 0.30.1-alpha.5 - resolution: "@calcit/procs@npm:0.30.1-alpha.5" +"@calcit/procs@npm:0.30.1": + version: 0.30.1 + resolution: "@calcit/procs@npm:0.30.1" dependencies: "@calcit/finger-vec": "npm:0.1.1" "@calcit/ternary-tree": "npm:0.0.26" "@cirru/parser.ts": "npm:0.0.10" "@cirru/writer.ts": "npm:^0.1.9" - checksum: 10c0/925226e14b05ab6f1ed5adf32611a3575324d9e99474e84dce6f01093dce4d869d301585bb76c06d56725a716a76536888f99b9da5c961e79c9b0c62a5b27b1c + checksum: 10c0/a0f00e3c0c9b3a5a2aea8b97e09f2692aa25039a48a2f7ccb345801fdbc546cbf3bb34ee268a58526baba9fb697781bb7929a5d1f6622816c9422c6c3ba8537b languageName: node linkType: hard @@ -229,7 +229,7 @@ __metadata: version: 0.0.0-use.local resolution: "clojure-script-org@workspace:." dependencies: - "@calcit/procs": "npm:0.30.1-alpha.5" + "@calcit/procs": "npm:0.30.1" "@calcit/std": "npm:^0.0.2" bottom-tip: "npm:^0.1.5" cirru-color: "npm:^0.2.4" From 171102c543b4f72793ce4bb241758058f5480081 Mon Sep 17 00:00:00 2001 From: tiye Date: Thu, 22 Oct 2026 07:50:03 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E5=8D=87=E7=BA=A7=E6=AD=A3=E5=BC=8F=20arti?= =?UTF-8?q?fact=20actions=20=E5=B9=B6=E4=BF=9D=E7=95=99=E4=B8=8D=E5=8F=AF?= =?UTF-8?q?=E5=8F=98=20SHA=20=E5=9B=BA=E5=AE=9A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .github/workflows/upload.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/upload.yaml b/.github/workflows/upload.yaml index 5c306cc..494d6e4 100644 --- a/.github/workflows/upload.yaml +++ b/.github/workflows/upload.yaml @@ -53,7 +53,7 @@ jobs: base_url="./" fi yarn vite build --base="$base_url" - - uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 + - uses: actions/upload-artifact@cf430e030ddbb5b0abf93d22962f4752f3646cd9 # v7.0.2 with: name: client-dist path: dist/ @@ -70,7 +70,7 @@ jobs: cancel-in-progress: false queue: max steps: - - uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093 # v4 + - uses: actions/download-artifact@9000827ccba6bdab643e8b6fd33ac0654aef8333 # v8.0.2 with: name: client-dist path: dist/