Commit Graph
960 Commits
Author SHA1 Message Date
zqlit 9e972f2b61 ci: 修 CNB docker build 上下文(by 必须列出 bin/linux/hugo)
首跑失败在镜像构建:
  COPY bin/linux/hugo /usr/local/bin/hugo
  ERROR: failed to compute cache key ... "bin/linux/hugo": not found

根因(CNB 官方文档原文):docker build 的构建上下文里「只包含 Dockerfile
和 by 声明的文件」,未出现在 by 列表中的文件在构建时一律视为不存在。
原配置 by:[package.json] 既漏了 hugo 二进制,又列了个 Dockerfile 根本
没 COPY 的 package.json。

改为 by: [bin/linux/hugo] / versionBy: [bin/linux/hugo]。
2026-10-04 13:07:31 +08:00
zqlit c68d60f34c ci: 触发 CNB 首次流水线(验证密钥仓库 + 构建链路)
密钥仓库 zqlit/blog-secrets 已建好,重跑一次确认整条链路:
Hugo 构建 → 又拍云 sync/purge → 多吉云刷新 → EdgeOne 部署 → 邮件通知。
2026-10-04 13:04:53 +08:00
zqlit 03a066296a docs: CNB构建落地方案 填实密钥仓库地址(zqlit/blog-secrets) 2026-10-04 12:56:53 +08:00
zqlit bcc2236bde ci: 迁移到 CNB 流水线(.cnb.yml)+ 零依赖邮件通知
- .cnb.yml:6 个 stage 顺序执行(Hugo 构建 → 又拍云 sync → 又拍云 purge →
  多吉云刷新 → EdgeOne 部署 → 上报状态);push 与每日 09:00 定时任务
  共用同一组 stage(YAML 锚点),失败通知走 failStages
- 又拍云保持「非阻断但如实上报」:allowFailure 沿用原版 continue-on-error
  语义,国内线路直传失败不拖垮境外线路
- scripts/send_mail.js:零依赖 SMTP 发信(node net/tls,465 隐式 TLS +
  587 STARTTLS),变量名沿用 MAIL_USERNAME / MAIL_PASSWORD
- 密钥经 imports 从密钥仓库 zqlit/blog-secrets 注入(共 10 项)
- .gitignore:补 cnb-secrets.yml 本地粘贴草稿(含真实令牌,不入库)

原 GitHub Actions 里的 artifact 传递 / COS 中转 / 广州机 sync.sh 轮询
整条链在此不再需要 —— 其唯一根因是 runner 在境外,CNB 节点在国内。
2026-10-04 12:56:05 +08:00
zqlit e0218b42bb docs: 迁 CNB 前的架构决策文档 + 构建骨架
- 决策文档:架构总览 / 代码源与构建平台选型 / CNB构建落地方案 /
  EdgeOne双区域 / Gitee / 阿里云ESA / 精简方案
- CNB 构建骨架:deploy/Dockerfile、bin/linux/hugo
  (84MB,linux/amd64 extended 0.128.2,供 CNB 容器 COPY 用)
- scripts/setup-cnb-remotes.sh:双远端切换(CNB 主仓 + GitHub 备份)
- .gitignore 补 .workbuddy/(工作数据不入库)
2026-10-04 12:40:17 +08:00
zqlit 1f568bbfd1 fix: artifact 改为单文件 tar 传递(v3 逐文件上传时 Gitea finalize 500)
实测 run #56:upload-artifact@v3 传 public/ 目录时会逐文件上传 3216 个
blob(376MB),文件全部传完后 finalize 调用被 Gitea 拒绝:
  Finalize artifact upload - Attempt 1..5 of 5 failed: Request timeout
  ::error::Finalize artifact upload failed: Artifact service responded with 500
整轮 build 白跑约 30 分钟(v3 已越过 v4 的 'not supported on GHES' 报错点,
这是另一个独立问题)。

改法:build 侧先把 public/ 打成单个 public.tar.zst(无 zstd 时退 gzip),
只上传这 1 个文件 -> 上传是 1 次 PUT、finalize 常数级开销。
deploy-edgeone 侧下载后解包,产物结构因此完全确定(不再有「多一层
public/」的歧义),原 Normalize 步骤随之删除。

配套:中转机 sync.sh.new 增加「artifact 内 tar 包二次解包」(已上传服务器,
未生效)。
2026-10-04 11:08:40 +08:00
zqlit ed38f9384b fix: upload/download-artifact 降级 v4 -> v3(v4 在 Gitea 上不被支持)
Deploy to Production / probe-network (push) Skipped
Deploy to Production / pre-check (push) Successful in 1m9s
Deploy to Production / build (push) Failing after 39m20s
Deploy to Production / deploy-edgeone (push) Skipped
Deploy to Production / finalize (push) Skipped
Deploy to Production / notify-failure (push) Successful in 5s
实测 run #55:build job 在「Upload build artifact (public/)」失败:
  ::error::@actions/artifact v2.0.0+, upload-artifact@v4+ and
  download-artifact@v4+ are not currently supported on GHES.
Gitea 被 v4 识别为 GHES、未实现新 artifact API → 降回 v3(走旧 API)。

v3 无 include-hidden-files 选项、隐藏文件不保证进包,故:
- build job 额外写非隐藏的 public/build_hash.txt 兜底
- 中转机 sync.sh 优先读 .build_hash,读不到退 build_hash.txt,最后才本地复算
2026-10-04 10:33:55 +08:00
zqlit fffdbe6865 fix: artifact 传递补两个坑(隐藏文件 + 产物层数)
Deploy to Production / probe-network (push) Skipped
Deploy to Production / pre-check (push) Successful in 54s
Deploy to Production / build (push) Failing after 3m53s
Deploy to Production / deploy-edgeone (push) Skipped
Deploy to Production / finalize (push) Skipped
Deploy to Production / notify-failure (push) Successful in 4s
- upload-artifact@v4 默认排除隐藏文件,public/.build_hash 会丢
  → 开 include-hidden-files: true,否则中转机读不到 hash 无法判断同步
- download 后产物可能多一层 public/ → EdgeOne 部署前统一拍平并校验 index.html

配合中转机 sync.sh 改造(COS → Gitea artifact),两者需同时生效。
2026-10-04 10:06:27 +08:00
zqlit 4ede54b96d fix: 修复 .env.example 被根 .gitignore 的 .env.* 规则误伤
Deploy to Production / probe-network (push) Skipped
Deploy to Production / pre-check (push) Successful in 50s
Deploy to Production / build (push) Failing after 4m16s
Deploy to Production / deploy-edgeone (push) Skipped
Deploy to Production / finalize (push) Skipped
Deploy to Production / notify-failure (push) Successful in 6s
2026-10-04 09:53:20 +08:00
zqlit 2388694e8a chore: 砍COS改造(deploy.yml改artifact传递+gitea-backup可移植部署包+改造步骤文档) 2026-10-04 09:52:50 +08:00
zqlit a74b3c7127 归档 artalk-cf 评论后端 + rss-robot 到 blog-admin(含技术选型/模块分布 README)
Deploy to Production / pre-check (push) Successful in 58s
Deploy to Production / build (push) Successful in 4m3s
Deploy to Production / deploy-edgeone (push) Successful in 3m48s
Deploy to Production / finalize (push) Successful in 26s
Deploy to Production / notify-failure (push) Skipped
2026-10-04 08:45:40 +08:00
zqlit 855a001046 编辑器禁用态:置灰但内容完整(补发送字样/占位符/表情预览图标),svc-down 隐藏 Powered By 版权
Deploy to Production / pre-check (push) Successful in 35s
Deploy to Production / build (push) Successful in 3m40s
Deploy to Production / deploy-edgeone (push) Successful in 3m35s
Deploy to Production / finalize (push) Successful in 22s
Deploy to Production / notify-failure (push) Skipped
2026-10-04 00:28:12 +08:00
zqlit 298f10e6bc 评论错误卡片:额度文案双保险(中文特征词兜底+连接异常优先判)、底部边距加大与footer分隔线隔开(桌面30px/移动24px)
Deploy to Production / pre-check (push) Successful in 1m19s
Deploy to Production / build (push) Successful in 4m3s
Deploy to Production / deploy-edgeone (push) Successful in 3m55s
Deploy to Production / finalize (push) Successful in 28s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 21:01:58 +08:00
zqlit bff48517c0 评论验证码取不到时降级为可重试提示(不留破图)
Deploy to Production / pre-check (push) Successful in 59s
Deploy to Production / build (push) Successful in 4m42s
Deploy to Production / deploy-edgeone (push) Successful in 4m0s
Deploy to Production / finalize (push) Successful in 31s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 20:37:46 +08:00
zqlit 8535f759f4 错误卡片重设计:居中布局+去技术详情(读者无需看),图标放大、重试改胶囊按钮
Deploy to Production / pre-check (push) Successful in 54s
Deploy to Production / build (push) Canceled after 5s
Deploy to Production / deploy-edgeone (push) Canceled after 0s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 20:07:05 +08:00
zqlit afa1346a0f 评论加载失败改为清晰提示:接管 Artalk 错误层,按服务端错误码给读者人话文案+可展开技术详情
Deploy to Production / pre-check (push) Successful in 1m0s
Deploy to Production / build (push) Successful in 4m18s
Deploy to Production / deploy-edgeone (push) Successful in 3m55s
Deploy to Production / finalize (push) Successful in 24s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 19:49:10 +08:00
zqlit 45afb53580 评论人机验证(自研一键验证):静默PoW+行为信号,必要时点一下/图形验证码兜底
Deploy to Production / pre-check (push) Successful in 49s
Deploy to Production / build (push) Successful in 4m39s
Deploy to Production / deploy-edgeone (push) Successful in 3m42s
Deploy to Production / finalize (push) Successful in 33s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 19:30:07 +08:00
zqlit ae93bc7d08 友圈卡片背景头像效果恢复:背景图/头像统一用自建favicon绝对地址+失败兜底,缓存key升v2
Deploy to Production / pre-check (push) Successful in 1m47s
Deploy to Production / build (push) Successful in 4m23s
Deploy to Production / deploy-edgeone (push) Successful in 3m57s
Deploy to Production / finalize (push) Successful in 28s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 17:39:06 +08:00
zqlit 899dcfd006 友圈头像不再兜底第三方默认头像:改用站内/api/favicon(绝对地址),兜底也从cravatar换成自建服务
Deploy to Production / pre-check (push) Successful in 48s
Deploy to Production / build (push) Canceled after 2m55s
Deploy to Production / deploy-edgeone (push) Canceled after 0s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 17:35:32 +08:00
zqlit 5858188628 友链卡片移动端适配:≤640px隐藏头像、收紧间距内边距、微调字号字距
Deploy to Production / pre-check (push) Successful in 47s
Deploy to Production / build (push) Successful in 4m17s
Deploy to Production / deploy-edgeone (push) Canceled after 37s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 17:29:20 +08:00
zqlit 63fd5641d5 友链卡片只转换顶层评论(回复里的同串URL不再被隐藏)
Deploy to Production / pre-check (push) Successful in 53s
Deploy to Production / build (push) Canceled after 3m23s
Deploy to Production / deploy-edgeone (push) Canceled after 0s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 17:23:46 +08:00
zqlit 627b6e6512 徽章样式补充卡片上下文(.atk-fl-card):卡片已移出.atk-comment导致博主徽章露出Artalk内联蓝底
Deploy to Production / pre-check (push) Canceled after 22s
Deploy to Production / build (push) Canceled after 0s
Deploy to Production / deploy-edgeone (push) Canceled after 0s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 17:22:58 +08:00
zqlit c952620fd6 友链卡片固定在评论列表上方(不再被新评论挤到中间):整条评论用class隐藏,卡片插入atk-list-body首位
Deploy to Production / pre-check (push) Successful in 53s
Deploy to Production / build (push) Canceled after 1m2s
Deploy to Production / deploy-edgeone (push) Canceled after 0s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 17:20:04 +08:00
zqlit ab94c25273 修复发评论后卡片被挤下去:原评论内容改用class+!important隐藏(Artalk重渲染会抹掉内联display),转换逻辑改幂等自愈
Deploy to Production / pre-check (push) Successful in 50s
Deploy to Production / build (push) Successful in 4m30s
Deploy to Production / deploy-edgeone (push) Canceled after 2m21s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 17:13:06 +08:00
zqlit 0f4761803c 友链申请表单新增可选图标链接字段(留空由/api/favicon自动抓取站点图标)
Deploy to Production / pre-check (push) Canceled after 6m47s
Deploy to Production / build (push) Canceled after 0s
Deploy to Production / deploy-edgeone (push) Canceled after 0s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 17:05:57 +08:00
zqlit 98126cafe6 评论徽章DOM/尺寸统一(拆badge-wrap+单一类名)、修复main.css!important劫持徽章尺寸、友链卡片挂到comment级与输入框对齐、卡片动效+打字机、申请弹窗按钮错位与滚动条修复
Deploy to Production / pre-check (push) Successful in 58s
Deploy to Production / build (push) Successful in 3m56s
Deploy to Production / deploy-edgeone (push) Canceled after 1m23s
Deploy to Production / finalize (push) Canceled after 0s
Deploy to Production / notify-failure (push) Canceled after 0s
2026-10-03 16:59:34 +08:00
zqlit 87c47d13c9 徽章样式定稿:博主浅底灰黑描边(回线上版)、置顶浅底红字描边;恢复Artalk默认徽章右间距与CN地域徽标原样
Deploy to Production / pre-check (push) Successful in 44s
Deploy to Production / build (push) Successful in 4m40s
Deploy to Production / deploy-edgeone (push) Successful in 3m48s
Deploy to Production / finalize (push) Successful in 24s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 16:12:23 +08:00
zqlit 36e74d46f4 友链申请入口改URL评论触发+卡片原生风格化; 博主/头衔徽章改浅底描边风格与友链友圈官职统一
Deploy to Production / pre-check (push) Successful in 39s
Deploy to Production / build (push) Successful in 4m55s
Deploy to Production / deploy-edgeone (push) Successful in 4m1s
Deploy to Production / finalize (push) Successful in 25s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 15:16:00 +08:00
zqlit e84de9033d 友链申请卡片重设计(头像+昵称+徽章+主题色) + 弹窗横向滚动条/显隐bug修复
Deploy to Production / pre-check (push) Successful in 1m9s
Deploy to Production / build (push) Successful in 4m9s
Deploy to Production / deploy-edgeone (push) Successful in 3m46s
Deploy to Production / finalize (push) Successful in 28s
Deploy to Production / notify-failure (push) Skipped
2026-10-03 14:28:50 +08:00
QunLIn 79c1e51d5c 评论徽章全展示按优先级排序 + 新增金色头衔徽章
Deploy to Production / pre-check (push) Successful in 1m12s
Deploy to Production / build (push) Successful in 2m52s
Deploy to Production / deploy-edgeone (push) Successful in 3m27s
Deploy to Production / finalize (push) Successful in 30s
Deploy to Production / notify-failure (push) Skipped
- 徽章不再互斥:满足条件全部展示,排序 = 系统徽章(博主等)
  > 头衔(新增)> 友链 > 友圈 > 官职
- 头衔徽章:后端 users 表新增 title_name 字段,管理面板用户编辑
  可设置,金色 UI 与官职一致,优先级仅次于系统徽章
- 官方 badge-wrap 挪进昵称元素内,保证与主题徽章的排序正确
2026-10-03 13:37:22 +08:00
QunLIn da1a77a313 友链申请卡片改挂置顶评论 + 弹窗挂 body 加毛玻璃
Deploy to Production / pre-check (push) Successful in 28s
Deploy to Production / build (push) Successful in 2m41s
Deploy to Production / deploy-edgeone (push) Successful in 3m47s
Deploy to Production / finalize (push) Successful in 27s
Deploy to Production / notify-failure (push) Skipped
- 置顶评论卡片化:管理员置顶且内容含「友链自助申请」的评论,
  整条解析成申请入口卡片(隐藏昵称/页脚,渐变虚线卡片,点击打开
  申请弹窗),其余置顶评论不受影响
- 弹窗 DOM 动态挂 document.body:评论容器带 transform 动画会把
  position:fixed 劫持成相对定位,导致遮罩/表单跟着容器变形——
  挂 body 彻底规避
- 遮罩加 backdrop-filter 毛玻璃(GPU 合成,不影响页面性能)
2026-10-03 13:08:14 +08:00
QunLIn 5fcbd2a7b6 字体切全量、评论徽章优先级、友链自助申请卡片、友圈头像兜底
Deploy to Production / pre-check (push) Successful in 1m27s
Deploy to Production / build (push) Successful in 4m49s
Deploy to Production / deploy-edgeone (push) Successful in 3m50s
Deploy to Production / finalize (push) Successful in 21s
Deploy to Production / notify-failure (push) Skipped
- 字体:zql 从 subset(776K) 切换到全量(1.2MB woff2),subset 覆盖
  不足导致大量字回退系统字体,视觉不一致;全量一次加载彻底解决
- 评论徽章统一 comment-rendered 注入,优先级互斥:友链 > 友圈 >
  官职(后端 rank 字段),官方系统徽章(博主)独立显示
- 留言页新增友链自助申请入口卡片 + 弹窗表单(名称/链接/订阅/邮箱
  必填),提交进 api.200181.xyz 待审队列,审核结果邮件通知申请人
- 友圈头像:favicon 抓取失败时兜底第三方 favicon 服务
2026-10-03 12:13:45 +08:00
QunLIn e12da91314 评论后端统一到 api.200181.xyz(与 RSS 同一 Worker)
Deploy to Production / pre-check (push) Successful in 1m10s
Deploy to Production / build (push) Successful in 4m44s
Deploy to Production / deploy-edgeone (push) Successful in 3m39s
Deploy to Production / finalize (push) Successful in 35s
Deploy to Production / notify-failure (push) Skipped
评论与订阅已合并为同一个 Cloudflare Worker(artalk-cf,
同时服务 api.200181.xyz 与 artalk.200181.xyz)。为收敛到
单一域名/单一面板,评论入口统一切到 api.200181.xyz。

- hugo.toml params.artalk.server → api.200181.xyz
- write-server ARTALK_SERVER 默认值同步
- 注意:post.usj.cc 服务器 .env 里若有 ARTALK_SERVER 覆盖项需同步改
2026-10-03 10:57:33 +08:00
QunLIn e7d94c11fd CI 构建完成后上报部署状态到 api.200181.xyz
Deploy to Production / pre-check (push) Successful in 41s
Deploy to Production / build (push) Successful in 4m52s
Deploy to Production / deploy-edgeone (push) Successful in 3m48s
Deploy to Production / finalize (push) Successful in 29s
Deploy to Production / notify-failure (push) Skipped
中转机 sync.sh 同步完成后会上报 phase=synced,CI 在 COS 上传后
上报 phase=built。打开 https://api.200181.xyz/api/deploy-status
即可查看国内线路是否同步完成(state: synced/syncing)。
需在 Gitea 仓库 Secrets 配置 RSS_API_TOKEN(未配置则跳过上报)。
2026-10-03 10:40:22 +08:00
QunLIn f032310188 永久跳过海外直传 UpYun,国内线路全走中转机
Deploy to Production / pre-check (push) Successful in 37s
Deploy to Production / build (push) Successful in 3m56s
Deploy to Production / deploy-edgeone (push) Successful in 3m51s
Deploy to Production / finalize (push) Successful in 24s
Deploy to Production / notify-failure (push) Skipped
海外 runner 对 UpYun v0 接口无论什么参数都是 70 秒左右 EOF
(-w 10/--strong 与 -w 3 均验证),3 轮重试全败,每次部署白耗
5 分钟(build #25 日志实锤)。

直传步骤改为 if: false 永久跳过(代码保留,将来 runner 挪国内
删掉该条件即可恢复)。国内线路由腾讯云广州中转机兜底:每分钟
比对 COS build hash → 下载产物 → upx sync → 又拍云 purge →
多吉云刷新(sync.sh 自带,CI 侧不再重复刷)。
2026-10-03 10:23:43 +08:00
QunLIn cc85ace7c2 官职徽章改回主题渲染,数据由后端 rank 字段下发
Deploy to Production / pre-check (push) Successful in 1m16s
Deploy to Production / build (push) Successful in 10m24s
Deploy to Production / deploy-edgeone (push) Successful in 3m52s
Deploy to Production / finalize (push) Successful in 28s
Deploy to Production / notify-failure (push) Skipped
上一版把九品官阶塞进官方 badge_name/badge_color 槽——但博主
徽章是独一无二的,官职应该接在它后面而不是挤占同一个槽位。
后端现下发独立字段 rank_name/rank_title/rank_count/rank_color/
rank_bg(配色沿用主题原版彩字+半透明底),本文件在
comment-rendered 事件里渲染官职徽章。
2026-10-03 10:01:52 +08:00
QunLIn 20869a3c45 RSS API 地址全部收敛到 hugo.toml [params.rssapi],切到 api.200181.xyz
Deploy to Production / pre-check (push) Successful in 2m0s
Deploy to Production / build (push) Successful in 9m9s
Deploy to Production / deploy-edgeone (push) Successful in 4m3s
Deploy to Production / finalize (push) Successful in 29s
Deploy to Production / notify-failure (push) Skipped
- 新增 [params.rssapi] base 配置,主题 7 处硬编码改为读配置:
  head(preconnect+window.rssApiBase)、footer(构建时拉 links/feeds)、
  render-link(favicon)、circles/links 页 fetch、linkify.js(读 window.rssApiBase)
- scripts/fetch_greetings.js 支持 RSS_API_BASE 环境变量,默认新地址
- scfapi.usj.cc(国内代理)保持不变
2026-10-03 01:19:02 +08:00
QunLIn be5abce16a 评论等级改为后端计算(artalk-cf 下发官方 badge)
主题原来的九品官阶用 localStorage 累计——只统计当前浏览器
渲染过的评论,换设备/清缓存就失真,别人看到的也不准。
现在后端按全站真实评论数算好,随评论 API 下发
badge_name/badge_color,官方前端原生渲染,跨设备一致。
本文件移除本地注入逻辑,友链/友圈徽章保留。
2026-10-03 01:11:43 +08:00
QunLIn 87cfa01b3d write-server 切到自建后端:评论 artalk.200181.xyz + RSS api.200181.xyz
- ARTALK_SERVER: artalk.usj.cc(朋友机器)→ artalk.200181.xyz(自建 CF Workers)
- RSS_API_BASE: api.usj.cc(EdgeOne)→ api.200181.xyz(迁到 CF Workers 的 rss-robot-cf)
- SCF_PROXY 不变(scfapi.usj.cc 是国内代理,继续复用)
2026-10-02 22:37:54 +08:00
QunLIn f486a46b6d 修 UpYun 直传:降并发去 --strong、加三轮重试;UpYun 未成功不再刷国内 CDN
Deploy to Production / pre-check (push) Successful in 1m8s
Deploy to Production / build (push) Canceled after 28m0s
Deploy to Production / deploy-edgeone (push) Canceled after 0s
Deploy to Production / finalize (push) Skipped
Deploy to Production / notify-failure (push) Skipped
- upx sync 从 -w 10 --delete --strong 改为 -w 3 --delete + 三轮重试(单次 25 分钟)。
  本runner 在海外,UpYun v0 接口对并发敏感,-w 10 + --strong 会让一批目录的
  mkdir 全部 EOF(2026-10-02 连续两次失败,第二次直接撞 480s 超时)。
  upx 0.4.9 只有 -w/--delete/--strong 三个参数,没有 --resume/--checksum,
  所以只能靠降并发 + 整体重试。
- 多吉云 CDN 刷新改为仅在 UpYun 成功时执行:EdgeOne 是境外线路,
  它成功不代表国内源站已更新,之前会刷出一份"刷新成功但内容没变"的假象。
2026-10-02 20:39:00 +08:00
QunLIn 09f9e96248 评论后端切到 Cloudflare Workers 自建版
Deploy to Production / pre-check (push) Successful in 1m47s
Deploy to Production / build (push) Successful in 13m55s
Deploy to Production / deploy-edgeone (push) Successful in 4m14s
Deploy to Production / finalize (push) Canceled after 3s
Deploy to Production / notify-failure (push) Canceled after 0s
artalk.usj.cc(朋友机器)→ artalk.200181.xyz
数据已用增量导入同步到 artalk-cf 的 D1。
2026-10-02 19:55:29 +08:00
zqlit 4215e08113 删除一篇文章
Deploy to Production / pre-check (push) Successful in 2m32s
Deploy to Production / build (push) Successful in 9m30s
Deploy to Production / deploy-edgeone (push) Successful in 4m5s
Deploy to Production / finalize (push) Successful in 29s
Deploy to Production / notify-failure (push) Skipped
2026-10-02 18:04:21 +08:00
zqlit 04d0274d9f 修改文章
Deploy to Production / pre-check (push) Successful in 1m17s
Deploy to Production / build (push) Successful in 9m27s
Deploy to Production / deploy-edgeone (push) Successful in 4m43s
Deploy to Production / finalize (push) Successful in 33s
Deploy to Production / notify-failure (push) Skipped
2026-10-02 16:44:28 +08:00
Write Server 1ebb167a60 发布: 评论组件被人恶意sql注入,25端口被封,邮件无法发信
Deploy to Production / pre-check (push) Successful in 2m8s
Deploy to Production / build (push) Successful in 10m13s
Deploy to Production / deploy-edgeone (push) Successful in 4m14s
Deploy to Production / finalize (push) Successful in 28s
Deploy to Production / notify-failure (push) Skipped
2026-10-02 08:15:58 +00:00
zqlit 34c8164d95 merge: 合并 Gitea CI 修复(三态上报) 与内容发布(测试部署)
Deploy to Production / pre-check (push) Successful in 1m25s
Deploy to Production / build (push) Successful in 9m7s
Deploy to Production / deploy-edgeone (push) Successful in 4m20s
Deploy to Production / finalize (push) Successful in 31s
Deploy to Production / notify-failure (push) Skipped
- 80ea1ff5 只推过 Gitea,16c5ce33 只推过 GitHub,两条线在 95a8455c 分叉
- 写作后台 origin 的 fetch 只指向 GitHub,看不到 Gitea 上的提交,导致 push Gitea 被拒
- 合并后两边内容一致,此后任何提交都同时推两个远端
2026-10-01 20:53:26 +08:00
Write Server 16c5ce3395 发布: 测试部署 2026-10-01 12:50:18 +00:00
zqlit 80ea1ff5b3 fix(ci): 删除空壳 deploy-upyun job,UpYun 直传改为如实上报三态
Deploy to Production / pre-check (push) Successful in 2m6s
Deploy to Production / build (push) Successful in 4m18s
Deploy to Production / deploy-edgeone (push) Successful in 7s
Deploy to Production / finalize (push) Successful in 16s
Deploy to Production / notify-failure (push) Skipped
deploy-upyun 是零上传动作的空壳 job,却无条件打印「UpYun 已同步最新内容」,其输出被 Telegram / 飞书 / 邮件通知当成 UpYun 部署成功的依据;真正的上传步骤标了 continue-on-error,失败也不影响 job 颜色。三层叠加,导致 7/25 起国内线路停更两个多月而通知始终显示成功。

改动:删除 deploy-upyun(finalize / notify-failure 的 needs 同步清理);Upload to UpYun 在退出时写 GITHUB_OUTPUT,如实上报 success / failure / skipped 三态与真实耗时(不用 steps.outcome,只依赖最通用的 output 传递);通知与 Step Summary 改为展示三态真实结果,移除「文件已在 Build 阶段同步」这类未经验证的说法。

又拍云直传失败仍不阻断流水线 —— 国内线路由腾讯云广州的 1Panel 计划任务「又拍云同步(国内中转)」每分钟兜底增量推送。
2026-10-01 16:47:05 +08:00
Write Server 95a8455c0e 发布: 删除《GitHub用量又超了》
Deploy to Production / pre-check (push) Successful in 2m18s
Deploy to Production / build (push) Successful in 5m30s
Deploy to Production / deploy-edgeone (push) Successful in 4m1s
Deploy to Production / deploy-upyun (push) Successful in 6s
Deploy to Production / finalize (push) Successful in 37s
Deploy to Production / notify-failure (push) Skipped
2026-10-01 06:46:45 +00:00
Write Server 11dda8e66c 发布: 自建了 Gitea,测试一下部署
Deploy to Production / pre-check (push) Successful in 1m33s
Deploy to Production / build (push) Successful in 9m0s
Deploy to Production / deploy-edgeone (push) Successful in 4m6s
Deploy to Production / deploy-upyun (push) Successful in 8s
Deploy to Production / finalize (push) Successful in 33s
Deploy to Production / notify-failure (push) Skipped
2026-10-01 05:51:21 +00:00
zqlit e1f0b49754 fix(ci): 修复提交信息含 ${{ }} 字样导致 pre-check 崩溃
Deploy to Production / pre-check (push) Successful in 2m35s
Deploy to Production / build (push) Successful in 7m53s
Deploy to Production / deploy-edgeone (push) Successful in 3m52s
Deploy to Production / deploy-upyun (push) Successful in 5s
Deploy to Production / finalize (push) Successful in 30s
Deploy to Production / notify-failure (push) Skipped
根因:pre-check 的 Validate commit 步骤把 commit message 直接插值进 shell 脚本:

    COMMIT_MESSAGE="${{ github.event.head_commit.message }}"

多行提交信息会撑破脚本;若正文里出现 ${{ ... }} 之类字样(例如上一次提交
正文中的 ${{ gitea.* }}),bash 会把它当变量展开并报 "bad substitution",
exit 1 → pre-check failure → build 被 skip。

实证(Gitea task 35 日志):
    /var/run/act/workflow/commit-check: line 20: perf(ci): 兼容 GitHub Actions...
    : bad substitution
    ❌ Failure - Main Validate commit (only for push events)

修复:改用 step 级 env: 传值(COMMIT_AUTHOR / COMMIT_MESSAGE),
commit message 不再进入脚本文本。GitHub Actions 与 Gitea Actions
行为一致,两边都安全,同时消除命令注入面。

本次提交正文刻意保留了 ${{ gitea.* }} 字样,作为该修复的回归验证。
2026-10-01 12:37:22 +08:00