Compare commits
	
		
			11 Commits
		
	
	
		
			snyk-fix-1
			...
			snyk-fix-7
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | e5a3f802f3 | ||
|  | 39ddea389a | ||
|  | 9aa745e5a2 | ||
|  | 38c8bc2384 | ||
|  | 584ca67799 | ||
|  | cf7fac325f | ||
|  | 8569684593 | ||
|  | 1e72b281a5 | ||
|  | 75673aa373 | ||
|  | 5772e831ad | ||
|  | 67202dc5d3 | 
							
								
								
									
										17
									
								
								CHANGELOG.md
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								CHANGELOG.md
									
									
									
									
									
								
							| @@ -1,3 +1,20 @@ | |||||||
|  | <a name="v1.2.0"></a> | ||||||
|  | ## v1.2.0 | ||||||
|  |  | ||||||
|  | ### Ci | ||||||
|  | - breakout docker build for merge only | ||||||
|  |  | ||||||
|  | ### Feat | ||||||
|  | - update RPC version to 1.2.0. | ||||||
|  | - BREAKING CHANGE: add heartbeat capability, bump RPC Protocol version to 4.0.0 | ||||||
|  | - add unit test framework | ||||||
|  | - add hostname to activation info | ||||||
|  | - **docker:** add dockerfile support for RPC | ||||||
|  |  | ||||||
|  | ### Fix | ||||||
|  | - use message status instead, cleanup message fields. | ||||||
|  |  | ||||||
|  |  | ||||||
| <a name="v1.1.0"></a> | <a name="v1.1.0"></a> | ||||||
| ## [v1.1.0] - 2021-02-09 | ## [v1.1.0] - 2021-02-09 | ||||||
|  |  | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| # SPDX-License-Identifier: Apache-2.0 | # SPDX-License-Identifier: Apache-2.0 | ||||||
| #*********************************************************************/ | #*********************************************************************/ | ||||||
|  |  | ||||||
| FROM ubuntu:20.04 AS rpc-builder | FROM ubuntu:groovy-20210416 AS rpc-builder | ||||||
|  |  | ||||||
| WORKDIR / | WORKDIR / | ||||||
| ARG DEBIAN_FRONTEND=noninteractive | ARG DEBIAN_FRONTEND=noninteractive | ||||||
| @@ -11,7 +11,7 @@ RUN \ | |||||||
|   apt-get update -y -qq && \ |   apt-get update -y -qq && \ | ||||||
|   apt install -y -qq \ |   apt install -y -qq \ | ||||||
|     git cmake build-essential libssl-dev zlib1g-dev \ |     git cmake build-essential libssl-dev zlib1g-dev \ | ||||||
|     curl unzip zip pkg-config |     curl unzip zip pkg-config ca-certificates | ||||||
| RUN git clone https://github.com/open-amt-cloud-toolkit/rpc.git | RUN git clone https://github.com/open-amt-cloud-toolkit/rpc.git | ||||||
| WORKDIR /rpc | WORKDIR /rpc | ||||||
| RUN mkdir -p build | RUN mkdir -p build | ||||||
| @@ -23,7 +23,7 @@ WORKDIR /rpc/build | |||||||
| RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake .. | RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake .. | ||||||
| RUN cmake --build . | RUN cmake --build . | ||||||
|  |  | ||||||
| FROM ubuntu:20.04  | FROM ubuntu:groovy-20210416  | ||||||
|  |  | ||||||
| LABEL license='SPDX-License-Identifier: Apache-2.0' \ | LABEL license='SPDX-License-Identifier: Apache-2.0' \ | ||||||
|       copyright='Copyright (c) 2021: Intel' |       copyright='Copyright (c) 2021: Intel' | ||||||
|   | |||||||
							
								
								
									
										172
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										172
									
								
								Jenkinsfile
									
									
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,172 @@ | |||||||
|  | pipeline { | ||||||
|  |     agent none | ||||||
|  |     triggers {cron '@daily'} | ||||||
|  |     options { | ||||||
|  |         buildDiscarder(logRotator(numToKeepStr: '5', daysToKeepStr: '30')) | ||||||
|  |         timestamps() | ||||||
|  |         timeout(unit: 'HOURS', time: 2) | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     stages { | ||||||
|  |         stage ('Parallel') { | ||||||
|  |             parallel { | ||||||
|  |                 stage ('Linux') { | ||||||
|  |                     agent { label 'docker-amt' } | ||||||
|  |                     stages { | ||||||
|  |                         stage ('Cloning Repository') { | ||||||
|  |                             steps { | ||||||
|  |                                 script { | ||||||
|  |                                     scmCheckout { | ||||||
|  |                                         clean = true | ||||||
|  |                                     } | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |                 stage ('Windows') { | ||||||
|  |                     agent { label 'openamt-win' } | ||||||
|  |                     stages { | ||||||
|  |                         stage ('Cloning Repository') { | ||||||
|  |                             steps { | ||||||
|  |                                 script { | ||||||
|  |                                     scmCheckout { | ||||||
|  |                                         clean = true | ||||||
|  |                                     } | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         stage ('Static Code Scan - Protex') { | ||||||
|  |             agent { label 'docker-amt' } | ||||||
|  |             steps { | ||||||
|  |                 script { | ||||||
|  |                     staticCodeScan { | ||||||
|  |                         // generic | ||||||
|  |                         scanners             = ['protex'] | ||||||
|  |                         scannerType          = ['c','c++'] | ||||||
|  |  | ||||||
|  |                         protexProjectName    = 'OpenAMT - RPC' | ||||||
|  |                         // internal, do not change | ||||||
|  |                         protexBuildName      = 'rrs-generic-protex-build' | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |  | ||||||
|  |         stage ('Parallel Builds') { | ||||||
|  |             parallel { | ||||||
|  |                 stage ('Linux') { | ||||||
|  |                     agent { label 'docker-amt' } | ||||||
|  |                     stages { | ||||||
|  |                         stage('Build') { | ||||||
|  |                             agent { | ||||||
|  |                                 docker { | ||||||
|  |                                     image 'ubuntu:18.04' | ||||||
|  |                                     reuseNode true | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                             steps { | ||||||
|  |                                 sh './scripts/jenkins-pre-build.sh' | ||||||
|  |                                 sh './scripts/jenkins-build.sh' | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                         stage ('Archive') { | ||||||
|  |                             steps { | ||||||
|  |                                 archiveArtifacts allowEmptyArchive: true, artifacts: 'build/rpc', caseSensitive: false, onlyIfSuccessful: true | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                          | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |                 stage ('Windows') { | ||||||
|  |                     agent { label 'openamt-win' } | ||||||
|  |                     stages{ | ||||||
|  |                         stage ('Build') { | ||||||
|  |                             steps { | ||||||
|  |                                 bat 'scripts\\jenkins-pre-build.cmd' | ||||||
|  |                                 bat 'scripts\\jenkins-build.cmd' | ||||||
|  |                                 // prepare stash for the binary scan | ||||||
|  |                                 stash includes: "**/*.exe", name: 'rpc-app' | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                         stage ('Archive') { | ||||||
|  |                             steps { | ||||||
|  |                                 archiveArtifacts allowEmptyArchive: true, artifacts: 'build\\Release\\rpc.exe', caseSensitive: false, onlyIfSuccessful: true | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         stage ('Parallel Scans') { | ||||||
|  |             parallel { | ||||||
|  |                 stage ('Static Code Scan Linux') { | ||||||
|  |                     agent { label 'docker-amt' } | ||||||
|  |                     steps { | ||||||
|  |                         script { | ||||||
|  |                             staticCodeScan { | ||||||
|  |                                 // generic | ||||||
|  |                                 scanners             = ['bdba','klocwork'] | ||||||
|  |                                 scannerType          = 'c++' | ||||||
|  |  | ||||||
|  |                                 protecodeGroup          = '25' | ||||||
|  |                                 protecodeScanName       = 'rpc-zip' | ||||||
|  |                                 protecodeDirectory      = './build/rpc' | ||||||
|  |                                  | ||||||
|  |                                 klockworkPreBuildScript = './scripts/jenkins-pre-build.sh' | ||||||
|  |                                 klockworkBuildCommand = './scripts/jenkins-build.sh' | ||||||
|  |                                 klockworkProjectName  = 'Panther Point Creek' | ||||||
|  |                                 klockworkIgnoreCompileErrors = true | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |                 stage ('Static Code Scan Windows') { | ||||||
|  |                     stages { | ||||||
|  |                         stage ('Static Code Scan Windows - Klockwork') { | ||||||
|  |                             agent { label 'openamt-win' } | ||||||
|  |                             steps { | ||||||
|  |                                 script { | ||||||
|  |                                     staticCodeScan { | ||||||
|  |                                         // generic | ||||||
|  |                                         scanners             = ['klocwork'] | ||||||
|  |                                         scannerType          = 'c++' | ||||||
|  |                                          | ||||||
|  |                                         klockworkPreBuildScript = 'scripts\\jenkins-pre-build.cmd' | ||||||
|  |                                         klockworkBuildCommand = 'scripts\\jenkins-build.cmd' | ||||||
|  |                                         klockworkProjectName  = 'Panther Point Creek' | ||||||
|  |                                         klockworkIgnoreCompileErrors = true | ||||||
|  |                                     } | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                         stage ('Static Code Scan Windows - BDBA') { | ||||||
|  |                             agent { label 'docker-amt' } | ||||||
|  |                             steps { | ||||||
|  |                                 script { | ||||||
|  |                                     sh "mkdir -p bdbaScanDir" | ||||||
|  |                                     dir("bdbaScanDir") { | ||||||
|  |                                         unstash 'rpc-app' | ||||||
|  |                                     } | ||||||
|  |                                     staticCodeScan { | ||||||
|  |                                         // generic | ||||||
|  |                                         scanners             = ['bdba'] | ||||||
|  |                                         scannerType          = 'c++' | ||||||
|  |                                          | ||||||
|  |                                         protecodeGroup          = '25' | ||||||
|  |                                         protecodeScanName       = 'rpc-zip' | ||||||
|  |                                         protecodeDirectory      = 'bdbaScanDir' | ||||||
|  |                                     } | ||||||
|  |                                 } | ||||||
|  |                             } | ||||||
|  |                         } | ||||||
|  |                     } | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  | } | ||||||
| @@ -14,7 +14,7 @@ set BASE_DIR=%cd% | |||||||
| set VCPKG_DIR=C:\opt\vcpkg-source | set VCPKG_DIR=C:\opt\vcpkg-source | ||||||
|  |  | ||||||
| REM build RPC | REM build RPC | ||||||
| cd %BASE_DIR%/rpc |  | ||||||
|  |  | ||||||
| if exist "build" rd /q /s "build" | if exist "build" rd /q /s "build" | ||||||
|  |  | ||||||
| @@ -23,4 +23,4 @@ cd build | |||||||
| echo %VCPKG_DIR%\vcpkg\scripts\buildsystems\vcpkg.cmake | echo %VCPKG_DIR%\vcpkg\scripts\buildsystems\vcpkg.cmake | ||||||
| cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_TOOLCHAIN_FILE=%VCPKG_DIR%\vcpkg\scripts\buildsystems\vcpkg.cmake .. | cmake -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_TOOLCHAIN_FILE=%VCPKG_DIR%\vcpkg\scripts\buildsystems\vcpkg.cmake .. | ||||||
| cmake --build . --config Release | cmake --build . --config Release | ||||||
| dir %BASE_DIR%\rpc\build | dir %BASE_DIR%\build | ||||||
| @@ -5,9 +5,9 @@ set -x | |||||||
| # Jenkins Build script | # Jenkins Build script | ||||||
| #   - Ubuntu 18.04 | #   - Ubuntu 18.04 | ||||||
| # | # | ||||||
|  | export BASE_DIR="$PWD" | ||||||
| export CMAKE_CXX_FLAGS="-isystem /usr/lib/gcc/x86_64-linux-gnu/7/include" | export CMAKE_CXX_FLAGS="-isystem /usr/lib/gcc/x86_64-linux-gnu/7/include" | ||||||
| cd "$BASE_DIR"/rpc |  | ||||||
|  |  | ||||||
| if [ -d "build" ]; then | if [ -d "build" ]; then | ||||||
|   rm -rf build |   rm -rf build | ||||||
| @@ -15,5 +15,5 @@ fi | |||||||
|  |  | ||||||
| mkdir build | mkdir build | ||||||
| cd build | cd build | ||||||
| cmake -DCMAKE_TOOLCHAIN_FILE="$BASE_DIR"/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release .. | cmake -DCMAKE_TOOLCHAIN_FILE="$BASE_DIR"/vcpkg/scripts/buildsystems/vcpkg.cmake -DCMAKE_BUILD_TYPE=Release .. | ||||||
| cmake --build . | cmake --build . | ||||||
|   | |||||||
| @@ -4,14 +4,15 @@ | |||||||
| #   - Ubuntu 18.04 | #   - Ubuntu 18.04 | ||||||
| # | # | ||||||
|  |  | ||||||
| sudo apt install git cmake build-essential curl zip unzip tar pkg-config | apt update | ||||||
|  | apt install git cmake build-essential curl zip unzip tar pkg-config -y | ||||||
|  |  | ||||||
| ## current dir - RPC source directory | ## current dir - RPC source directory | ||||||
| export BASE_DIR="$PWD" | #export BASE_DIR="$PWD" | ||||||
|  |  | ||||||
| cd "$BASE_DIR"/rpc | #cd "$BASE_DIR"/rpc | ||||||
| ## build vcpkg | ## build vcpkg | ||||||
| git clone --branch 2020.11-1 https://github.com/microsoft/vcpkg.git | git -C vcpkg pull || git clone --branch 2020.11-1 https://github.com/microsoft/vcpkg.git vcpkg | ||||||
| cd vcpkg | cd vcpkg | ||||||
| ./bootstrap-vcpkg.sh | ./bootstrap-vcpkg.sh | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user