From 3fbf316dbaa8ddfbb9e3b51af529fc0334589bd2 Mon Sep 17 00:00:00 2001 From: scawful Date: Sun, 12 Oct 2025 12:45:16 -0400 Subject: [PATCH] feat(ci): add NASM installation for Windows in CI and release workflows - Implemented steps to install NASM on Windows runners, required for BoringSSL in gRPC. - Updated PATH for NASM to ensure it is accessible during the build process. - Enhanced dependency retry logic to include NASM installation. Benefits: - Ensures proper setup for Windows builds, improving compatibility with gRPC requirements. --- .github/workflows/ci.yml | 8 ++++++++ .github/workflows/release.yml | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 85b0ce5f..94c8eb6c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -131,6 +131,11 @@ jobs: # Note: libabsl-dev removed - gRPC uses bundled Abseil via FetchContent when enabled elif [[ "${{ runner.os }}" == "macOS" ]]; then brew install ninja pkg-config + elif [[ "${{ runner.os }}" == "Windows" ]]; then + # Install NASM for BoringSSL (required by gRPC) + choco install nasm -y + # Add NASM to PATH for this session + echo "C:\Program Files\NASM" >> $GITHUB_PATH fi - name: Retry Dependencies (if failed) @@ -153,6 +158,9 @@ jobs: elif [[ "${{ runner.os }}" == "macOS" ]]; then brew update brew install ninja pkg-config + elif [[ "${{ runner.os }}" == "Windows" ]]; then + choco install nasm -y --force + echo "C:\Program Files\NASM" >> $GITHUB_PATH fi - name: Free Disk Space (Linux) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index de53e205..c0e20bed 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -197,6 +197,11 @@ jobs: # Note: libabsl-dev removed - gRPC uses bundled Abseil via FetchContent when enabled elif [[ "${{ runner.os }}" == "macOS" ]]; then brew install ninja cmake pkg-config + elif [[ "${{ runner.os }}" == "Windows" ]]; then + # Install NASM for BoringSSL (required by gRPC) + choco install nasm -y + # Add NASM to PATH for this session + echo "C:\Program Files\NASM" >> $GITHUB_PATH fi - name: "Retry Dependencies (if failed)" @@ -217,6 +222,9 @@ jobs: elif [[ "${{ runner.os }}" == "macOS" ]]; then brew update brew install ninja cmake pkg-config + elif [[ "${{ runner.os }}" == "Windows" ]]; then + choco install nasm -y --force + echo "C:\Program Files\NASM" >> $GITHUB_PATH fi - name: "Configure (Windows)"