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.
This commit is contained in:
scawful
2025-10-12 12:45:16 -04:00
parent 8bb58c71ba
commit 3fbf316dba
2 changed files with 16 additions and 0 deletions

View File

@@ -131,6 +131,11 @@ jobs:
# Note: libabsl-dev removed - gRPC uses bundled Abseil via FetchContent when enabled # Note: libabsl-dev removed - gRPC uses bundled Abseil via FetchContent when enabled
elif [[ "${{ runner.os }}" == "macOS" ]]; then elif [[ "${{ runner.os }}" == "macOS" ]]; then
brew install ninja pkg-config 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 fi
- name: Retry Dependencies (if failed) - name: Retry Dependencies (if failed)
@@ -153,6 +158,9 @@ jobs:
elif [[ "${{ runner.os }}" == "macOS" ]]; then elif [[ "${{ runner.os }}" == "macOS" ]]; then
brew update brew update
brew install ninja pkg-config brew install ninja pkg-config
elif [[ "${{ runner.os }}" == "Windows" ]]; then
choco install nasm -y --force
echo "C:\Program Files\NASM" >> $GITHUB_PATH
fi fi
- name: Free Disk Space (Linux) - name: Free Disk Space (Linux)

View File

@@ -197,6 +197,11 @@ jobs:
# Note: libabsl-dev removed - gRPC uses bundled Abseil via FetchContent when enabled # Note: libabsl-dev removed - gRPC uses bundled Abseil via FetchContent when enabled
elif [[ "${{ runner.os }}" == "macOS" ]]; then elif [[ "${{ runner.os }}" == "macOS" ]]; then
brew install ninja cmake pkg-config 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 fi
- name: "Retry Dependencies (if failed)" - name: "Retry Dependencies (if failed)"
@@ -217,6 +222,9 @@ jobs:
elif [[ "${{ runner.os }}" == "macOS" ]]; then elif [[ "${{ runner.os }}" == "macOS" ]]; then
brew update brew update
brew install ninja cmake pkg-config brew install ninja cmake pkg-config
elif [[ "${{ runner.os }}" == "Windows" ]]; then
choco install nasm -y --force
echo "C:\Program Files\NASM" >> $GITHUB_PATH
fi fi
- name: "Configure (Windows)" - name: "Configure (Windows)"