-
Notifications
You must be signed in to change notification settings - Fork 90
135 lines (118 loc) · 4.97 KB
/
daily-build-test.yml
File metadata and controls
135 lines (118 loc) · 4.97 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: Daily Enumerate Tests (Ascend NPU)
on:
schedule:
- cron: "0 16 * * *"
pull_request:
branches: [ main ]
paths:
- ".github/workflows/daily-build-test.yml"
- "scripts/enumerate_test_*.sh"
workflow_dispatch:
concurrency:
group: daily-enumerate-tests-${{ github.ref }}
cancel-in-progress: true
jobs:
# 将测试任务拆分为独立的job,可以并行运行
daily-enumerate-intranode:
runs-on: linux-aarch64-a3-16
container:
image: swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/cann:8.3.rc1-a3-ubuntu22.04-py3.11
timeout-minutes: 350 # 5小时50分钟,留出缓冲时间
steps:
- name: Clean git config
run: |
CONFIG_KEY='http.https://gh-proxy.test.osinfra.cn/.extraheader'
git config --global --unset "$CONFIG_KEY" || true
- name: Clean workspace
run: |
sudo rm -rf --one-file-system "$GITHUB_WORKSPACE"/* "$GITHUB_WORKSPACE"/.* 2>/dev/null || true
- name: Checkout code
uses: actions/checkout@v4
with:
clean: true
- name: Install dependencies
run: |
CACHING_URL="cache-service.nginx-pypi-cache.svc.cluster.local"
sed -Ei "s@(ports|archive).ubuntu.com@${CACHING_URL}:8081@g" /etc/apt/sources.list
pip config set global.index-url http://${CACHING_URL}/pypi/simple
pip config set global.trusted-host ${CACHING_URL}
bash scripts/npu_ci_install_dependency.sh
- name: Prepare Deepep
run: bash scripts/prepare_deepep_in_container.sh
- name: Run enumerate test intranode
timeout-minutes: 340 # 5小时 40分钟
env:
HCCL_BUFFSIZE: 4096
TEST_ENV: daily-build
run: |
echo "Starting daily enumerate intranode test at $(date)"
chmod +x scripts/enumerate_test_intranode.sh
bash scripts/enumerate_test_intranode.sh
echo "Completed daily enumerate intranode test at $(date)"
- name: Upload intranode artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: intranode-results-${{ github.sha }}-${{ github.run_id }}
path: |
test-results/
logs/
retention-days: 30
daily-enumerate-low-latency:
runs-on: linux-aarch64-a3-16
container:
image: swr.cn-southwest-2.myhuaweicloud.com/base_image/ascend-ci/cann:8.3.rc1-a3-ubuntu22.04-py3.11
timeout-minutes: 330 # 5.5小时
steps:
- name: Clean workspace and checkout
run: |
sudo rm -rf --one-file-system "$GITHUB_WORKSPACE"/* "$GITHUB_WORKSPACE"/.* 2>/dev/null || true
- uses: actions/checkout@v4
with:
clean: true
- name: Install dependencies
run: |
CACHING_URL="cache-service.nginx-pypi-cache.svc.cluster.local"
sed -Ei "s@(ports|archive).ubuntu.com@${CACHING_URL}:8081@g" /etc/apt/sources.list
pip config set global.index-url http://${CACHING_URL}/pypi/simple
pip config set global.trusted-host ${CACHING_URL}
bash scripts/npu_ci_install_dependency.sh
- name: Prepare Deepep
run: bash scripts/prepare_deepep_in_container.sh
- name: Run enumerate test low latency
timeout-minutes: 300 # 5小时
env:
HCCL_BUFFSIZE: 4096
TEST_ENV: daily-build
run: |
echo "Starting daily enumerate low latency test at $(date)"
chmod +x scripts/enumerate_test_low_latency.sh
bash scripts/enumerate_test_low_latency.sh
echo "Completed daily enumerate low latency test at $(date)"
- name: Upload low latency artifacts
if: always()
uses: actions/upload-artifact@v4
with:
name: low-latency-results-${{ github.sha }}-${{ github.run_id }}
path: |
test-results/
logs/
retention-days: 30
finish:
if: always()
needs: [daily-enumerate-intranode, daily-enumerate-low-latency]
runs-on: ubuntu-latest
steps:
- name: Generate comprehensive test report
run: |
echo "## Daily Enumerate Tests Report" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Execution Time**: $(date)" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "### Job Status:" >> $GITHUB_STEP_SUMMARY
echo "- **Intranode Test Part One**: ${{ needs.daily-enumerate-intranode_part_one.result }}" >> $GITHUB_STEP_SUMMARY
echo "- **Intranode Test Part Two**: ${{ needs.daily-enumerate-intranode_part_two.result }}" >> $GITHUB_STEP_SUMMARY
echo "- **Low Latency Test**: ${{ needs.daily-enumerate-low-latency.result }}" >> $GITHUB_STEP_SUMMARY
echo "- **Smoke Test**: ${{ needs.daily-smoke-test.result }}" >> $GITHUB_STEP_SUMMARY
echo "" >> $GITHUB_STEP_SUMMARY
echo "**Workflow Run**: [$GITHUB_RUN_ID](https://github.com/$GITHUB_REPOSITORY/actions/runs/$GITHUB_RUN_ID)" >> $GITHUB_STEP_SUMMARY