#********************************************************************* # Copyright (c) Intel Corporation 2020 # SPDX-License-Identifier: Apache-2.0 #*********************************************************************/ name: Build RPC (Native) Debug/Release on: workflow_dispatch: inputs: build_type: description: 'Build Type can be "debug" or "release".' required: true default: "release" env: BUILD_TYPE: ${{github.event.inputs.build_type}} jobs: build-windows: runs-on: windows-2019 steps: - uses: actions/checkout@v2 - name: Create Build Dir run: mkdir build - name: Clone run: git clone https://github.com/microsoft/vcpkg.git && cd vcpkg && git checkout 772d435ba18bf2f342458e0187ab7b48b84fe3f0 - name: Build VCPKG run: cd vcpkg && bootstrap-vcpkg.bat shell: cmd - name: dir run: ls - name: dir run: cd vcpkg && ls - name: Install C++ REST SDK run: ${{ runner.workspace }}\rpc\vcpkg\vcpkg.exe install cpprestsdk[websockets]:x64-windows-static shell: cmd - name: dir run: ls && cd vcpkg && ls shell: bash - name: Prepare for build run: cd build && cmake .. -DCMAKE_PREFIX_PATH=D:/a/rpc/rpc/vcpkg/installed/x64-windows-static -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_TOOLCHAIN_FILE=D:/a/rpc/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake - name: Build RPC (Debug) if: ${{ github.event.inputs.build_type }} == "debug" run: cd build && cmake --build . --config Debug - name: Build RPC (Release) if: ${{ github.event.inputs.build_type }} == "release" run: cd build && cmake --build . --config Release - name: GitHub Upload Release Artifacts if: ${{ github.event.inputs.build_type }} == "release" uses: actions/upload-artifact@v2 with: name: RPC_Windows_release.exe path: ${{ runner.workspace }}\rpc\build\Release\rpc.exe - name: GitHub Upload Release Artifacts if: ${{ github.event.inputs.build_type }} == "debug" uses: actions/upload-artifact@v2 with: name: RPC_Windows_debug.exe path: ${{ runner.workspace }}\rpc\build\Debug\rpc.exe build-linux: runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-18.04, ubuntu-20.04] steps: - uses: actions/checkout@v2 - name: Install Dependencies run: sudo apt install git cmake build-essential curl zip unzip tar pkg-config - name: Create Build Dir run: mkdir build - name: Clone run: git clone https://github.com/microsoft/vcpkg.git && cd vcpkg && git checkout 772d435ba18bf2f342458e0187ab7b48b84fe3f0 - name: Build VCPKG run: cd vcpkg && ./bootstrap-vcpkg.sh shell: bash - name: dir run: ls - name: dir run: cd vcpkg && ls - name: Install C++ REST SDK run: ${{ runner.workspace }}/rpc/vcpkg/vcpkg install cpprestsdk[websockets] shell: bash - name: dir run: ls && cd vcpkg && ls shell: bash - name: Prepare for build if: ${{ github.event.inputs.build_type }} == "debug" run: cd build && cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=${{ runner.workspace }}/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake - name: Prepare for build if: ${{ github.event.inputs.build_type }} == "release" run: cd build && cmake .. -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=${{ runner.workspace }}/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake - name: Build RPC run: cd build && cmake --build . - name: GitHub Upload Release Artifacts uses: actions/upload-artifact@v2 with: name: RPC_Linux_${{ matrix.os }}_${{github.event.inputs.build_type}} path: | build/rpc