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
14 changes: 8 additions & 6 deletions .github/workflows/tests.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -25,11 +25,12 @@ jobs:
- name: Enable Corepack
run: |
corepack enable
corepack prepare yarn@4.12.0 --activate
corepack prepare yarn@4.18.0 --activate
yarn --version

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

- name: Resolve immutable dependencies
Expand All @@ -45,8 +46,9 @@ jobs:
calcit calcit.cirru edit format
git diff --exit-code -- calcit.cirru
calcit calcit.cirru --check-only
calcit calcit.cirru analyze dynamic-methods
calcit calcit.cirru analyze deprecated --summary-only
calcit calcit.cirru analyze weak-types --only dynamic-method --summary-only --format json | jq -e '.data.summary.findings == 0'
calcit calcit.cirru --check-only --ns app.main --ns app.http
calcit calcit.cirru analyze weak-types --only deprecated-call --summary-only
calcit calcit.cirru analyze quality --baseline config/calcit-quality.cirru

- name: Build server bundle
Expand All @@ -55,7 +57,7 @@ jobs:
calcit calcit.cirru js
node --check js-out/app.main.mjs
mkdir -p dist-server
cp -r package.json main.mjs js-out yarn.lock dist-server/
cp -r package.json main.mjs js-out yarn.lock .yarnrc.yml dist-server/

- name: Upload server script
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
Expand All @@ -67,7 +69,7 @@ jobs:
flags: '-avzr --progress'
options: ''
ssh_options: ''
src: 'dist-server/*'
src: 'dist-server/'
dest: 'rsync-user@tiye.me:/servers/cos-up/'

- name: Display deployment status
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@

.compact-inc.cirru
.calcit-error.cirru
.calcit/

js-out/
node_modules
Expand All @@ -9,6 +10,7 @@ example/

secrets.cirru
dist
dist-server/
dl-out
.pnp.cjs
.pnp.loader.mjs
Expand Down
4 changes: 4 additions & 0 deletions .yarnrc.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
nodeLinker: node-modules

npmPreapprovedPackages:
- "@calcit/procs@0.29.3"
45 changes: 39 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,48 @@ COS upload

> dirty script providing a server.

### 使用者影响与开发

使用正式 Calcit/procs 0.29.3、Skir 0.0.29、Node 24 和 Yarn 4.18.0。
应用版本保持 0.0.9,不额外发模块 release。移除未被源码使用的 Lilac 依赖和 entry,
不混用旧 alpha、main/hash 依赖。应用继续接收 Skir 的真实 Request。

配置和 `/token` 请求体要求 Tag → String 的 Cirru EDN Map,包括额外字段;
非字符串字段、非 Map 或无效 Cirru 请求返回 400,坏配置仍由服务端报错。
已有缺失字段的空字符串默认值、认证比较、403/404/OPTIONS、PUT 签名、
区域和 `cos-up/` key 前缀保留;这不是认证策略重设计。
请求体复用共享 UTF-8 接口和 Result decoder;错误 SDK URL 形状返回 500,
不让新的类型检查异常逃出异步回调。日志仅保留方法/路径,不再打印请求对象、
密码请求体或含临时凭据的签名 URL。

```bash
caps --strict --ci
yarn install --immutable
caps verify --toolchain
calcit calcit.cirru --check-only
calcit calcit.cirru analyze weak-types --only dynamic-method --summary-only --format json | jq -e '.data.summary.findings == 0'
calcit calcit.cirru --check-only --ns app.main --ns app.http
calcit calcit.cirru analyze weak-types --only deprecated-call --summary-only
calcit calcit.cirru analyze quality --baseline config/calcit-quality.cirru
```

Skir 的旧 after-start 类型阻塞已通过正式 0.0.29 解决,使用当前配套正式依赖图。
原质量预算保持不变;仍有两个 partial 定义和一个 SDK 构造器宿主强转,
不宣称零类型债务。无新增测试/验证脚本或编译器改写规则,生成的 JS 不提交。

这是后端签名服务,不添加前端 COS/CDN 上传。原有服务器部署路径
`/servers/cos-up/` 保持不变。原 Actions 只 rsync 文件,不会远程安装依赖;
部署前须确认该目录使用 Node 24,并安装本次 lock 中的配套 runtime
(`corepack yarn install --immutable`)。构建成功不代表生产进程依赖已更新。

本地以明确假配置实际验证路由、拒绝认证、非法请求 Result、仅本地 URL 签名和
异常 SDK URL,禁止 SDK 出站请求、未上传文件、未打印签名值;临时配置/服务器
已清理。未读取生产凭据,也未验收生产进程或全量旧版行为等价。

Format for `secrets.cirru`:

```cirru
{}
:bucket |TODO
:app-id |TODO
:secret |TODO
:user |TODO
:pass-md5 |TODO
{} (:bucket |TODO) (:app-id |TODO) (:secret |TODO) (:user |TODO) (:pass-md5 |TODO)
```

Dev request:
Expand Down
137 changes: 74 additions & 63 deletions calcit.cirru

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 2 additions & 3 deletions deps.cirru
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@

{} (:calcit-version |0.22.0-alpha.3) (:version |0.0.9)
{} (:calcit-version |0.29.3) (:version |0.0.9)
:dependencies $ {}
|calcit-lang/skir |0.0.28
|calcit-lang/lilac |0.5.9
|calcit-lang/skir |0.0.29
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
{
"packageManager": "yarn@4.12.0",
"packageManager": "yarn@4.18.0",
"version": "0.0.9",
"dependencies": {
"@calcit/procs": "0.22.0-alpha.3",
"@calcit/procs": "0.29.3",
"cos-nodejs-sdk-v5": "^2.12.4"
}
}
Loading
Loading