jif2.zhang
|
c1b630a7ef
|
refactor: 数据层迁往服务端 (Express+DuckDB), APP 变瘦客户端只留缓存
Android Build & Publish / build-android (push) Failing after 6m55s
Docker Build and Push / build-image (push) Successful in 2m38s
- server: 新增 DuckDB 数据层 (db.js) 与鉴权 (auth.js: 验证码+token), 挂载 /api 业务路由
(衣物/搭配/日历/统计/MCP), 错误统一中间件
- 前端 src/api/index.ts 全部业务调用改为 HTTP (Bearer token), 客户端不再持有数据库
- 删除 Rust 数据层 (db.rs/auth.rs/mcp.rs/models.rs), Cargo.toml 裁剪 duckdb/chrono 等依赖
- Dockerfile: 基镜像 alpine→slim (@duckdb/node-api glibc 预编译), DB 落 /app/data 卷
- docker-build.yml: 移除 prune --volumes, 挂具名卷 wardrobe-data 持久化
- Landing/Profile 文案改为云端同步口径; 退出登录调服务端会话销毁
|
2026-09-15 10:53:58 +08:00 |
|
jif2.zhang
|
c0439d08f0
|
fix(ci): 设置 CXXFLAGS=-stdlib=libc++ 修复 duckdb android 编译失败
Android Build & Publish / build-android (push) Failing after 18m56s
Docker Build and Push / build-image (push) Has been cancelled
libduckdb-sys 0.10.2 build.rs 同时添加 -stdlib=libc++ 和 -stdlib=libstdc++
(flag_if_supported), 两者在 clang 上均被支持, 后者覆盖前者成为生效 stdlib.
NDK 不含 libstdc++ 头文件, 导致 fatal error: 'string' file not found.
cc 1.4.5 在 compile_object 最后追加 CXXFLAGS 环境变量值 (lib.rs:2191),
故设置 CXXFLAGS=-stdlib=libc++ 能确保 libc++ 为最终生效 stdlib.
|
2026-09-14 14:25:21 +08:00 |
|
jif2.zhang
|
2167a7a10b
|
fix(ci): 替换需鉴权的 mise action 为 setup-node+rustup, 修复 android CI 秒失败
Android Build & Publish / build-android (push) Failing after 15m21s
Docker Build and Push / build-image (push) Successful in 2m25s
- gitea.com/actions/mise 不存在/需要鉴权, 克隆即 Unauthorized, 导致 job 02:05 秒失败
- 改为 gitea.com/actions/setup-node@v4 + 手动 rustup 安装
- Ensure SDK/NDK 步骤加固: 预装 SDK 复用 + 权限兜底 + 按需安装
- Rust 缓存路径改为 ~/.cargo + ~/.rustup
- APK 固定上传到 data/android/wardrobe.apk
|
2026-09-14 10:44:36 +08:00 |
|
jif2.zhang
|
fc279c20ff
|
fix(web): 下载模块上移; 修复按钮遮挡版本文字与 APK 为空
Android Build & Publish / build-android (push) Failing after 6s
Docker Build and Push / build-image (push) Successful in 2m9s
- Landing: 下载模块移到 hero 之后 (特色/统计之前)
- 按钮 display:inline-block + width:auto + margin-bottom, 不再全宽压住版本文字
- android-build.yml: 配置中心 key 改用后缀匹配 (r2/CF_API_TOKEN),
此前按精确名 CF_API_TOKEN 匹配导致 fetch 步骤报缺密钥 → android 构建从未跑,
桶里没有任何 widget/ 对象, APK 下载 404/为空
|
2026-09-14 10:05:11 +08:00 |
|
jif2.zhang
|
47db85d01d
|
fix(ci): OTA 私钥改为写文件签名, 修正配置中心存储的坏密钥
Android Build & Publish / build-android (push) Failing after 5s
Docker Build and Push / build-image (push) Successful in 3m59s
- 配置中心原 MINISIGN_PRIVATE_KEY 缺首行 untrusted comment (只含 base64),
minisign 报 'Error while loading the secret key file'
- 已删除坏条目 (cfg-mtwmbmkd-bbiihv), 保留正确完整值 (cfg-mtwr5c2m-99r5fh)
- docker-build.yml / ota-build.yml 不再用 GITHUB_ENV 多行 heredoc,
改为把私钥写入 ota-package/hotswap.key, build-ota.mjs --key 显式指定
- 本地全链路验证: 配置中心拉取 → 写文件 → 签名 → 用 tauri.conf.json 公钥验签通过
|
2026-09-11 17:29:31 +08:00 |
|
jif2.zhang
|
84fb01b8a3
|
feat: 自动部署 + android 每次提交触发
Android Build & Publish / build-android (push) Failing after 5s
Docker Build and Push / build-image (push) Failing after 4m32s
- docker-build.yml: main 分支推送 → 构建 OTA 包 → Docker 镜像 → :3002 自动部署
- Dockerfile: node:22-alpine, dist + server + ota-package, healthcheck
- android-build.yml: 触发改为 on push (所有分支), 每次提交都构建
- ota-package/README.md 占位, 本地 docker build 不报错
- .gitignore / .dockerignore 调整
|
2026-09-11 17:12:58 +08:00 |
|
jif2.zhang
|
38b5e3190a
|
init: Wardrobe 衣物管理系统 - 项目首页、OTA 升级、Android CI/CD
- 响应式项目首页 (Landing, 含 R2 APK 下载) + 路由 /home 调整
- OTA 升级: tauri-plugin-hotswap (lib.rs/main.rs 拆分, 客户端热替换)
- OTA 服务端 (check/bundle/manifest-web) + build-ota/genkey/upload 脚本
- 密钥/凭据统一存配置中心 (signing + ota + cloudflare 分组)
- Android CI (android-* 分支) + OTA CI (手动触发), 产物上传 R2
- 修复 tsc/构建阻塞问题
|
2026-09-11 15:46:42 +08:00 |
|