From c0d7405d831faa6208b27fe56bf66fb0b138dcc5 Mon Sep 17 00:00:00 2001 From: Gangzheng Tong Date: Sun, 7 Sep 2025 10:07:24 -0700 Subject: Enhances CI reliability and debug logging (#8393) 1. Adds retry logic - Implements 3-attempt retry mechanism for intermittent test failures 2. Reduces parallelism for Linux - Changes server counts back to 1 for more stable execution, given the test is short in Linux for now 3. Adds detailed error logging - Enhanced diagnostic information for test parsing failures 4. Add Python 3.10 setup for slangpy tests for github runners 5. Removes submodule checkout for slang and slasngpy tests 6. Adds check-ci job - Implements consolidated CI status for simplified branch protection rule --------- Co-authored-by: slangbot Co-authored-by: slangbot <186143334+slangbot@users.noreply.github.com> --- .github/workflows/ci.yml | 40 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 38 insertions(+), 2 deletions(-) (limited to '.github/workflows/ci.yml') diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cbf5fe77e..f155cc6d9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -135,7 +135,7 @@ jobs: config: debug runs-on: '["ubuntu-22.04"]' test-category: smoke - server-count: 2 + server-count: 1 test-linux-release-gcc-x86_64: needs: [filter, build-linux-release-gcc-x86_64] @@ -148,7 +148,7 @@ jobs: config: release runs-on: '["ubuntu-22.04"]' test-category: full - server-count: 4 + server-count: 1 # macOS tests test-macos-debug-clang-aarch64: @@ -204,3 +204,39 @@ jobs: runs-on: '["Windows", "self-hosted", "GCP-T4"]' test-category: full full-gpu-tests: true + + check-ci: + needs: + [ + test-windows-release-cl-x86_64-gpu, + test-windows-debug-cl-x86_64-gpu, + test-macos-release-clang-aarch64, + test-macos-debug-clang-aarch64, + test-linux-release-gcc-x86_64, + test-linux-debug-gcc-x86_64, + ] + runs-on: ubuntu-latest + if: always() # Always run, even if dependencies fail + steps: + - name: Check CI Results + run: | + echo "=== CI Results Summary ===" + echo "Windows Release GPU: ${{ needs.test-windows-release-cl-x86_64-gpu.result }}" + echo "Windows Debug GPU: ${{ needs.test-windows-debug-cl-x86_64-gpu.result }}" + echo "macOS Release ARM64: ${{ needs.test-macos-release-clang-aarch64.result }}" + echo "macOS Debug ARM64: ${{ needs.test-macos-debug-clang-aarch64.result }}" + echo "Linux Release x64: ${{ needs.test-linux-release-gcc-x86_64.result }}" + echo "Linux Debug x64: ${{ needs.test-linux-debug-gcc-x86_64.result }}" + + # Check if all required jobs succeeded + if [[ "${{ needs.test-windows-release-cl-x86_64-gpu.result }}" != "success" ]] || \ + [[ "${{ needs.test-windows-debug-cl-x86_64-gpu.result }}" != "success" ]] || \ + [[ "${{ needs.test-macos-release-clang-aarch64.result }}" != "success" ]] || \ + [[ "${{ needs.test-macos-debug-clang-aarch64.result }}" != "success" ]] || \ + [[ "${{ needs.test-linux-release-gcc-x86_64.result }}" != "success" ]] || \ + [[ "${{ needs.test-linux-debug-gcc-x86_64.result }}" != "success" ]]; then + echo "❌ One or more CI jobs failed or were cancelled" + exit 1 + fi + + echo "✅ All CI jobs passed successfully!" -- cgit v1.2.3