Compare commits
	
		
			6 Commits
		
	
	
		
			snyk-fix-5
			...
			snyk-fix-6
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					d0f68358d6 | ||
| 
						 | 
					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>
 | 
			
		||||
## [v1.1.0] - 2021-02-09
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -3,7 +3,7 @@
 | 
			
		||||
# SPDX-License-Identifier: Apache-2.0
 | 
			
		||||
#*********************************************************************/
 | 
			
		||||
 | 
			
		||||
FROM ubuntu:20.04 AS rpc-builder
 | 
			
		||||
FROM ubuntu:groovy-20210325 AS rpc-builder
 | 
			
		||||
 | 
			
		||||
WORKDIR /
 | 
			
		||||
ARG DEBIAN_FRONTEND=noninteractive
 | 
			
		||||
@@ -23,7 +23,7 @@ WORKDIR /rpc/build
 | 
			
		||||
RUN cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_TOOLCHAIN_FILE=/rpc/vcpkg/scripts/buildsystems/vcpkg.cmake ..
 | 
			
		||||
RUN cmake --build .
 | 
			
		||||
 | 
			
		||||
FROM ubuntu:20.04 
 | 
			
		||||
FROM ubuntu:groovy-20210325 
 | 
			
		||||
 | 
			
		||||
LABEL license='SPDX-License-Identifier: Apache-2.0' \
 | 
			
		||||
      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
 | 
			
		||||
 | 
			
		||||
REM build RPC
 | 
			
		||||
cd %BASE_DIR%/rpc
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if exist "build" rd /q /s "build"
 | 
			
		||||
 | 
			
		||||
@@ -23,4 +23,4 @@ cd build
 | 
			
		||||
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 --build . --config Release
 | 
			
		||||
dir %BASE_DIR%\rpc\build
 | 
			
		||||
dir %BASE_DIR%\build
 | 
			
		||||
@@ -5,9 +5,9 @@ set -x
 | 
			
		||||
# Jenkins Build script
 | 
			
		||||
#   - Ubuntu 18.04
 | 
			
		||||
#
 | 
			
		||||
 | 
			
		||||
export BASE_DIR="$PWD"
 | 
			
		||||
export CMAKE_CXX_FLAGS="-isystem /usr/lib/gcc/x86_64-linux-gnu/7/include"
 | 
			
		||||
cd "$BASE_DIR"/rpc
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if [ -d "build" ]; then
 | 
			
		||||
  rm -rf build
 | 
			
		||||
@@ -15,5 +15,5 @@ fi
 | 
			
		||||
 | 
			
		||||
mkdir 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 .
 | 
			
		||||
 
 | 
			
		||||
@@ -4,14 +4,15 @@
 | 
			
		||||
#   - 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
 | 
			
		||||
export BASE_DIR="$PWD"
 | 
			
		||||
#export BASE_DIR="$PWD"
 | 
			
		||||
 | 
			
		||||
cd "$BASE_DIR"/rpc
 | 
			
		||||
#cd "$BASE_DIR"/rpc
 | 
			
		||||
## 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
 | 
			
		||||
./bootstrap-vcpkg.sh
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user