fix(ci): 全面修复 ci-pipeline.yml 的 YAML 格式 - 多行 run 字符串改为块标量 #609

Merged
auto-approve-bot merged 1 commits from fix/ci-pipeline-yaml-format into develop 2026-07-19 19:45:45 +08:00
Owner

问题

PR #605 合并多个 workflow 到 ci-pipeline.yml 时,大量 run 步骤使用单引号/双引号包裹的多行字符串。由于 YAML flow scalar 的换行折叠特性,这些多行字符串中的换行被解析为空格,导致 shell 脚本的 if ...; then / fi / for / while 等控制流结构语法错误。

修复

36 处 run: 字段从引号格式改为 YAML 块标量格式(|):

  • 单引号多行(run: '...')→ run: |
  • 双引号多行(run: "...")→ run: |
  • 还原所有内部转义符 \""\\\
  • 保留所有 shell 控制流结构(if/fi、elif/else、while 等)

改动统计

  • 1 个文件改动:.gitea/workflows/ci-pipeline.yml
  • 231 行新增,218 行删除
  • 共修复 36 处 run 多行字符串

影响范围

  • Staging Build:Setup cache strategy、Setup buildx builder、Build and push image(API/Web/Worker)
  • Deploy Staging / Deploy Production:SSH client 安装、SSH 部署脚本、健康检查
  • 所有 Job 的 Notify 通知步骤(success/failure/start)
  • Staging E2E、Production E2E、Staging API Tests
  • ACR Image Cleanup

验证

  • YAML 语法验证通过(yaml.safe_load)
  • 所有 14 个 Job、93 个 run 步骤完整保留
  • 所有 if/fi、for/done 等 shell 控制流配对正确
## 问题 PR #605 合并多个 workflow 到 ci-pipeline.yml 时,大量 `run` 步骤使用单引号/双引号包裹的多行字符串。由于 YAML flow scalar 的换行折叠特性,这些多行字符串中的换行被解析为空格,导致 shell 脚本的 `if ...; then` / `fi` / `for` / `while` 等控制流结构语法错误。 ## 修复 将 **36 处** `run:` 字段从引号格式改为 YAML 块标量格式(`|`): - 单引号多行(`run: '...'`)→ `run: |` - 双引号多行(`run: "..."`)→ `run: |` - 还原所有内部转义符 `\"` → `"`、`\\` → `\` - 保留所有 shell 控制流结构(if/fi、elif/else、while 等) ## 改动统计 - 1 个文件改动:`.gitea/workflows/ci-pipeline.yml` - 231 行新增,218 行删除 - 共修复 36 处 run 多行字符串 ## 影响范围 - Staging Build:Setup cache strategy、Setup buildx builder、Build and push image(API/Web/Worker) - Deploy Staging / Deploy Production:SSH client 安装、SSH 部署脚本、健康检查 - 所有 Job 的 Notify 通知步骤(success/failure/start) - Staging E2E、Production E2E、Staging API Tests - ACR Image Cleanup ## 验证 - YAML 语法验证通过(yaml.safe_load) - 所有 14 个 Job、93 个 run 步骤完整保留 - 所有 if/fi、for/done 等 shell 控制流配对正确
xiaoxia added 1 commit 2026-07-19 19:40:07 +08:00
fix(ci): 全面修复 ci-pipeline.yml 的 YAML 格式
CI/CD Pipeline / Build Staging API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Staging Worker Image (pull_request) Has been skipped
CI/CD Pipeline / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Web Image (pull_request) Has been skipped
CI/CD Pipeline / Build Production Worker Image (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / Staging E2E Tests (pull_request) Has been skipped
CI/CD Pipeline / Staging API Integration Tests (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (pull_request) Has been skipped
CI/CD Pipeline / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 15s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
Preview Deploy / Deploy Preview Environment (pull_request) Successful in 1m15s
AI Code Review / AI Code Review (pull_request) Successful in 2m30s
CI/CD Pipeline / Validate Code Quality And Tests (pull_request) Successful in 2m30s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 3m26s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 3m40s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m58s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 1m41s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 5m37s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 23s
daafd03db5
## 问题
PR #605 合并 workflow 时,大量 run 步骤使用单引号/双引号包裹的多行字符串,
YAML 解析后换行被折叠成空格,导致 shell 脚本的 if/fi、for/do/done 等结构报语法错误。

## 修复
将 36 处 run 字段从引号格式改为 YAML 块标量格式(|):
- 单引号多行(run: '...')→ run: |
- 双引号多行(run: "...")→ run: |
- 还原所有内部转义符 \" → "、\\ → \
- 保留所有 shell 控制流结构(if/fi、elif/else、while 等)

## 影响范围
- Staging Build 的 3 个镜像构建步骤(cache strategy, buildx setup, build/push)
- Deploy Staging / Deploy Production(SSH 部署、健康检查)
- 所有 Notify 通知步骤
- E2E 测试步骤
- ACR 清理步骤

修复后所有 shell 脚本的换行和缩进正确,控制流结构语法正确。

🚀 预览环境已部署

项目 详情
PR号 #609
预览链接 https://pr-609.preview.xiaoxiajianji.com
API环境 staging

💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。

🔄 每次提交新代码后预览环境会自动更新。

🗑️ PR 关闭或合并后,预览环境会自动清理。

🚀 **预览环境已部署** | 项目 | 详情 | |------|------| | PR号 | #609 | | 预览链接 | [https://pr-609.preview.xiaoxiajianji.com](https://pr-609.preview.xiaoxiajianji.com) | | API环境 | staging | > 💡 预览环境使用 staging API 数据,请勿在预览环境中操作重要数据。 > > 🔄 每次提交新代码后预览环境会自动更新。 > > 🗑️ PR 关闭或合并后,预览环境会自动清理。
Collaborator

代码审查结果 - PR #609

⚠️ 问题(0个需要修改)

💡 建议(0个可选)


格式检查通过 | 逻辑审查通过 | 性能无问题


🤖 由 AI 代码审查机器人自动生成 | 2026-07-19 19:42:38 | 模型:

## 代码审查结果 - PR #609 ### ⚠️ 问题(0个需要修改) 无 ### 💡 建议(0个可选) 无 --- ✅ 格式检查通过 | ✅ 逻辑审查通过 | ✅ 性能无问题 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-19 19:42:38 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
auto-approve-bot approved these changes 2026-07-19 19:44:06 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot approved these changes 2026-07-19 19:44:06 +08:00
auto-approve-bot left a comment
Collaborator

CI全绿,自动审批通过。

CI全绿,自动审批通过。
auto-approve-bot merged commit 84232ac32d into develop 2026-07-19 19:45:45 +08:00
auto-approve-bot deleted branch fix/ci-pipeline-yaml-format 2026-07-19 19:45:45 +08:00

🗑️ 预览环境已清理

PR #609 已关闭或合并,对应的预览环境已被清理。

如有需要,可以重新打开 PR 来重新生成预览环境。

🗑️ **预览环境已清理** PR #609 已关闭或合并,对应的预览环境已被清理。 > 如有需要,可以重新打开 PR 来重新生成预览环境。
Sign in to join this conversation.