fix(ci): staging E2E/API tests shell由sh改为bash #828

Merged
xiaoxia merged 1 commits from fix/staging-shell-sh-to-bash into develop 2026-07-24 14:52:20 +08:00
Owner

问题

staging两个job的run step用了shell: sh,但脚本里用了bash特性(管道、变量展开等),导致staging job秒挂。

修改

两处 shell: shshell: bash

  • Staging E2E Tests: Run Playwright E2E on staging
  • Staging API Integration Tests: Run API integration tests on staging

验证

合入后观察develop push CI的Staging E2E Tests和Staging API Integration Tests是否能正常启动跑完整流程。

## 问题 staging两个job的run step用了`shell: sh`,但脚本里用了bash特性(管道、变量展开等),导致staging job秒挂。 ## 修改 两处 `shell: sh` → `shell: bash`: - Staging E2E Tests: Run Playwright E2E on staging - Staging API Integration Tests: Run API integration tests on staging ## 验证 合入后观察develop push CI的Staging E2E Tests和Staging API Integration Tests是否能正常启动跑完整流程。
xiaoxia added 1 commit 2026-07-24 14:33:32 +08:00
fix(ci): staging E2E/API tests shell由sh改为bash\n\nsh不支持set -eu中的pipefail及bash特性,导致staging job秒挂。\n两处修改:\n- Staging E2E Tests: Run Playwright E2E on staging\n- Staging API Integration Tests: Run API integration tests on staging
CI/CD Pipeline / Check if frontend-only change (pull_request) Successful in 32s
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 / PR Build Web Image (pull_request) Successful in 46s
CI/CD Pipeline / Frontend Lint (pull_request) Successful in 1m3s
PR Automation / Auto Merge on CI Green + Approved (pull_request) Successful in 47s
Preview Deploy / Deploy Preview Environment (pull_request) Failing after 31s
CI/CD Pipeline / Frontend Unit Tests (pull_request) Has been skipped
CI/CD Pipeline / Validate - Type Check (mypy) (pull_request) Successful in 1m36s
CI/CD Pipeline / Build Production API Image (pull_request) Has been skipped
CI/CD Pipeline / Validate - Migration (alembic) (pull_request) Successful in 1m36s
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 / Deploy Staging (Watchtower auto-deploy) (pull_request) Has been skipped
CI/CD Pipeline / Deploy Production (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 / Production Browser E2E (pull_request) Has been skipped
CI/CD Pipeline / ACR Image Cleanup (pull_request) Has been skipped
CI/CD Pipeline / PR Build API Image (pull_request) Successful in 3m0s
PR Automation / Auto Approve on CI Green (pull_request) Successful in 3m13s
AI Code Review / AI Code Review (pull_request) Successful in 3m36s
CI/CD Pipeline / Validate - Code Quality (pull_request) Successful in 4m19s
CI/CD Pipeline / Integration Tests (pull_request) Successful in 2m29s
CI/CD Pipeline / Unit Tests (pull_request) Successful in 5m24s
CI/CD Pipeline / PR Build Worker Image (pull_request) Successful in 5m12s
Preview Cleanup / Cleanup Preview Environment (pull_request) Successful in 22s
c644bf657d
Collaborator

📊 审查概览

  • 整体评价:通过
  • 严重问题数量:0 个
  • 一般建议数量:0 个

需修改的问题(严重)

💡 改进建议(一般)

良好实践

  1. 明确指定 Shell 解释器:将 shell: sh 修改为 shell: bash 是一种保守且稳健的做法。这可以防止因脚本内部使用了 Bash 特有语法(如数组、特定字符串处理或 [[ ]] 条件判断)而在严格兼容 POSIX 的 sh 环境(如 Alpine Linux 的 /bin/sh)中运行失败,确保 CI 流程的稳定性。

🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 06:37:46 | 模型:

### 📊 审查概览 - 整体评价:通过 - 严重问题数量:0 个 - 一般建议数量:0 个 ### ❌ 需修改的问题(严重) 无 ### 💡 改进建议(一般) 无 ### ✅ 良好实践 1. **明确指定 Shell 解释器**:将 `shell: sh` 修改为 `shell: bash` 是一种保守且稳健的做法。这可以防止因脚本内部使用了 Bash 特有语法(如数组、特定字符串处理或 `[[ ]]` 条件判断)而在严格兼容 POSIX 的 `sh` 环境(如 Alpine Linux 的 `/bin/sh`)中运行失败,确保 CI 流程的稳定性。 --- <sub>🤖 由 AI 代码审查机器人自动生成 | 2026-07-24 06:37:46 | 模型: </sub> <!-- AI_CODE_REVIEW_AUTO_COMMENT -->
xiaoxia merged commit bae7113629 into develop 2026-07-24 14:52:20 +08:00

🗑️ 预览环境已清理

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

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

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