Enable gRPC support for macOS and Windows

This commit is contained in:
Kirill Bobyrev 2020-10-16 17:54:52 +02:00
parent 6ab953a853
commit db26815a69
No known key found for this signature in database
GPG Key ID: 2307C055C8384FA0

View File

@ -41,7 +41,7 @@ jobs:
config: config:
- name: windows - name: windows
os: windows-latest os: windows-latest
preinstall: choco install ninja preinstall: choco install ninja nasm
vcvars: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat vcvars: C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Auxiliary\Build\vcvars64.bat
cflags: /O2 /DNDEBUG cflags: /O2 /DNDEBUG
# FIXME: remove ALLOW_OLD_TOOLCHAIN once VS 16.5 is available. # FIXME: remove ALLOW_OLD_TOOLCHAIN once VS 16.5 is available.
@ -51,6 +51,8 @@ jobs:
"-DLLVM_ENABLE_ZLIB=OFF" "-DLLVM_ENABLE_ZLIB=OFF"
"-DLLVM_USE_CRT_RELEASE=MT" "-DLLVM_USE_CRT_RELEASE=MT"
"-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON" "-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=ON"
grpc_cmake: >
"-DgRPC_MSVC_STATIC_RUNTIME=ON"
binary_extension: ".exe" binary_extension: ".exe"
- name: mac - name: mac
os: macos-latest os: macos-latest
@ -72,7 +74,6 @@ jobs:
"-DLLVM_STATIC_LINK_CXX_STDLIB=ON" "-DLLVM_STATIC_LINK_CXX_STDLIB=ON"
"-DLLVM_ENABLE_ZLIB=FORCE_ON" "-DLLVM_ENABLE_ZLIB=FORCE_ON"
"-DCMAKE_PROJECT_INCLUDE=$GITHUB_WORKSPACE/.github/workflows/linux-static-deps.cmake" "-DCMAKE_PROJECT_INCLUDE=$GITHUB_WORKSPACE/.github/workflows/linux-static-deps.cmake"
"-DCLANGD_ENABLE_REMOTE=ON"
# Using c-ares as a module prevents dynamic linking of unneeded # Using c-ares as a module prevents dynamic linking of unneeded
# libraries. All other gRPC dependencies can be built from sources. # libraries. All other gRPC dependencies can be built from sources.
grpc_cmake: > grpc_cmake: >
@ -99,7 +100,6 @@ jobs:
# FIXME: gRPC support is currently available only on Linux. Other platforms # FIXME: gRPC support is currently available only on Linux. Other platforms
# will be added later. # will be added later.
- name: Clone gRPC - name: Clone gRPC
if: matrix.config.name == 'linux'
uses: actions/checkout@v2 uses: actions/checkout@v2
with: with:
repository: grpc/grpc repository: grpc/grpc
@ -107,7 +107,6 @@ jobs:
ref: v1.32.0 ref: v1.32.0
submodules: recursive submodules: recursive
- name: Build gRPC - name: Build gRPC
if: matrix.config.name == 'linux'
run: > run: >
mkdir grpc-installation mkdir grpc-installation
@ -150,10 +149,11 @@ jobs:
"-DLLVM_ENABLE_PLUGINS=OFF" "-DLLVM_ENABLE_PLUGINS=OFF"
"-DCMAKE_C_FLAGS_RELEASE=${{ matrix.config.cflags }}" "-DCMAKE_C_FLAGS_RELEASE=${{ matrix.config.cflags }}"
"-DCMAKE_CXX_FLAGS_RELEASE=${{ matrix.config.cflags }}" "-DCMAKE_CXX_FLAGS_RELEASE=${{ matrix.config.cflags }}"
"-DCLANGD_ENABLE_REMOTE=ON"
"-DGRPC_INSTALL_PATH=grpc-installation" "-DGRPC_INSTALL_PATH=grpc-installation"
${{ matrix.config.cmake }} ${{ matrix.config.cmake }}
- name: Ninja - name: Ninja
run: ninja -C ${{ env.CLANGD_DIR }} clangd clangd-indexer run: ninja -C ${{ env.CLANGD_DIR }} clangd clangd-indexer clangd-index-server
- name: Archive clangd - name: Archive clangd
run: > run: >
7z a clangd.zip 7z a clangd.zip
@ -165,6 +165,7 @@ jobs:
7z a indexing-tools.zip 7z a indexing-tools.zip
${{ env.CLANGD_DIR }}/LICENSE.TXT ${{ env.CLANGD_DIR }}/LICENSE.TXT
${{ env.CLANGD_DIR }}/bin/clangd-indexer${{ matrix.config.binary_extension }} ${{ env.CLANGD_DIR }}/bin/clangd-indexer${{ matrix.config.binary_extension }}
${{ env.CLANGD_DIR }}/bin/clangd-index-server${{ matrix.config.binary_extension }}
- name: Upload artifact - name: Upload artifact
uses: actions/upload-artifact@v1 uses: actions/upload-artifact@v1
with: with: