102 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			3.7 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| #*********************************************************************
 | |
| # 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 --branch 2020.11-1 https://github.com/microsoft/vcpkg.git
 | |
|       - 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 --branch 2020.11-1 https://github.com/microsoft/vcpkg.git
 | |
|       - 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
 |