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:
8
.github/workflows/ci.yml
vendored
8
.github/workflows/ci.yml
vendored
@@ -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)
|
||||||
|
|||||||
8
.github/workflows/release.yml
vendored
8
.github/workflows/release.yml
vendored
@@ -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)"
|
||||||
|
|||||||
Reference in New Issue
Block a user