Skip to content

Commit 17b5f49

Browse files
authored
Merge pull request #47 from thc1006/chore/conductor-setup
ci: add workflow-level concurrency and make 'CI Status Check' the sin…
2 parents 05da81e + d9e5906 commit 17b5f49

2 files changed

Lines changed: 32 additions & 32 deletions

File tree

.github/CODEOWNERS

Lines changed: 0 additions & 1 deletion
This file was deleted.

.github/workflows/ci.yaml

Lines changed: 32 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
name: CI
22

33
on:
4+
workflow_dispatch: {}
45
push:
5-
branches: [ main, develop ]
6+
branches: [ main, integrate/mvp, "feat/**", "chore/**" ]
67
pull_request:
7-
branches: [ main, develop ]
8+
branches: [ main, integrate/mvp ] # <— 建議只針對被保護分支的 PR
9+
10+
concurrency:
11+
group: ${{ github.workflow }}-${{ github.ref }}
12+
cancel-in-progress: true
813

914
env:
1015
# Go version is extracted dynamically from go.mod in setup-go step
@@ -333,35 +338,31 @@ jobs:
333338
# =============================================================================
334339
# Final CI Status Check
335340
# =============================================================================
336-
ci-status:
337-
name: CI Status Check
338-
runs-on: ubuntu-latest
339-
needs: [generate, build, test, lint, security]
340-
if: always()
341-
timeout-minutes: 5
342-
343-
steps:
344-
- name: Check all job statuses
345-
run: |
346-
echo "=== CI Pipeline Status ==="
347-
echo "Generate CRDs: ${{ needs.generate.result }}"
348-
echo "Build: ${{ needs.build.result }}"
349-
echo "Test: ${{ needs.test.result }}"
350-
echo "Lint: ${{ needs.lint.result }}"
351-
echo "Security: ${{ needs.security.result }}"
352-
echo ""
353-
354-
# Check if any critical jobs failed
355-
if [[ "${{ needs.generate.result }}" != "success" || \
356-
"${{ needs.build.result }}" != "success" || \
357-
"${{ needs.test.result }}" != "success" || \
358-
"${{ needs.lint.result }}" != "success" || \
359-
"${{ needs.security.result }}" != "success" ]]; then
360-
echo "❌ CI Pipeline Failed - One or more critical jobs failed"
361-
exit 1
362-
else
363-
echo "✅ CI Pipeline Succeeded - All jobs completed successfully"
364-
fi
341+
ci-status:
342+
name: CI Status Check # <— 顯示名稱固定(將出現在 Ruleset 清單)
343+
runs-on: ubuntu-latest
344+
needs: [generate, build, test, lint, security]
345+
if: always()
346+
timeout-minutes: 5
347+
steps:
348+
- name: Gate on upstream job results
349+
shell: bash
350+
run: |
351+
echo "Generate: ${{ needs.generate.result }}"
352+
echo "Build: ${{ needs.build.result }}"
353+
echo "Test: ${{ needs.test.result }}"
354+
echo "Lint: ${{ needs.lint.result }}"
355+
echo "Security: ${{ needs.security.result }}"
356+
357+
if [[ "${{ needs.generate.result }}" != "success" || \
358+
"${{ needs.build.result }}" != "success" || \
359+
"${{ needs.test.result }}" != "success" || \
360+
"${{ needs.lint.result }}" != "success" || \
361+
"${{ needs.security.result }}" != "success" ]]; then
362+
echo "❌ CI Pipeline Failed"
363+
exit 1
364+
fi
365+
echo "✅ CI Pipeline Succeeded"
365366
366367
- name: Generate CI summary
367368
if: always()

0 commit comments

Comments
 (0)