Daily Enumerate Tests (Ascend NPU) #54
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 |