summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.pipelines/smp.yml59
-rw-r--r--.pipelines/tx.yml59
-rwxr-xr-xscripts/install.sh22
-rwxr-xr-xscripts/sdl_check.sh19
l---------test/smp/cmake/run.sh2
l---------test/tx/cmake/run.sh2
6 files changed, 161 insertions, 2 deletions
diff --git a/.pipelines/smp.yml b/.pipelines/smp.yml
new file mode 100644
index 00000000..c60ae672
--- /dev/null
+++ b/.pipelines/smp.yml
@@ -0,0 +1,59 @@
+trigger:
+- master
+
+pr:
+- master
+
+pool:
+ vmImage: "ubuntu-22.04"
+
+steps:
+ - bash: sudo $(Build.SourcesDirectory)/scripts/install.sh
+ displayName: 'Install softwares'
+ env:
+ INDEX_URL: $(INDEX_URL)
+
+ - task: Bash@3
+ displayName: 'SDL check'
+ inputs:
+ filePath: '$(Build.SourcesDirectory)/scripts/sdl_check.sh'
+
+ - task: Bash@3
+ displayName: 'Build SMP'
+ inputs:
+ filePath: '$(Build.SourcesDirectory)/scripts/build_smp.sh'
+
+ - task: Bash@3
+ displayName: 'Test SMP'
+ inputs:
+ filePath: '$(Build.SourcesDirectory)/scripts/test_smp.sh'
+
+ - task: PublishTestResults@2
+ condition: succeededOrFailed()
+ displayName: 'Test SMP (PublishTestResults)'
+ inputs:
+ testResultsFormat: 'cTest'
+ testResultsFiles: '*/Testing/**/*.xml'
+ searchFolder: '$(Build.SourcesDirectory)/test/smp/cmake/build'
+ testRunTitle: 'SMP-Tests'
+ buildConfiguration: 'Release'
+
+ - task: CopyFiles@2
+ condition: succeededOrFailed()
+ displayName: 'Test SMP (PublishTestReports)'
+ inputs:
+ SourceFolder: '$(Build.SourcesDirectory)/test/smp/cmake'
+ Contents: |
+ build/*.txt
+ build/*/Testing/**/*.xml
+ coverage_report/**/*
+ TargetFolder: '$(ob_outputDirectory)/test_reports_SMP'
+
+ - task: PublishCodeCoverageResults@1
+ condition: succeededOrFailed()
+ displayName: 'Test SMP (PublishCodeCoverageResults)'
+ inputs:
+ codeCoverageTool: 'Cobertura'
+ summaryFileLocation: '$(Build.SourcesDirectory)/test/smp/cmake/coverage_report/default_build_coverage.xml'
+ pathToSources: '$(Build.SourcesDirectory)/test/smp/cmake'
+ reportDirectory: '$(Build.SourcesDirectory)/test/smp/cmake/coverage_report/default_build_coverage'
diff --git a/.pipelines/tx.yml b/.pipelines/tx.yml
new file mode 100644
index 00000000..b9319d2e
--- /dev/null
+++ b/.pipelines/tx.yml
@@ -0,0 +1,59 @@
+trigger:
+- master
+
+pr:
+- master
+
+pool:
+ vmImage: "ubuntu-22.04"
+
+steps:
+ - bash: sudo $(Build.SourcesDirectory)/scripts/install.sh
+ displayName: 'Install softwares'
+ env:
+ INDEX_URL: $(INDEX_URL)
+
+ - task: Bash@3
+ displayName: 'SDL check'
+ inputs:
+ filePath: '$(Build.SourcesDirectory)/scripts/sdl_check.sh'
+
+ - task: Bash@3
+ displayName: 'Build TX'
+ inputs:
+ filePath: '$(Build.SourcesDirectory)/scripts/build_tx.sh'
+
+ - task: Bash@3
+ displayName: 'Test TX'
+ inputs:
+ filePath: '$(Build.SourcesDirectory)/scripts/test_tx.sh'
+
+ - task: PublishTestResults@2
+ condition: succeededOrFailed()
+ displayName: 'Test TX (PublishTestResults)'
+ inputs:
+ testResultsFormat: 'cTest'
+ testResultsFiles: '*/Testing/**/*.xml'
+ searchFolder: '$(Build.SourcesDirectory)/test/tx/cmake/build'
+ testRunTitle: 'TX-Tests'
+ buildConfiguration: 'Release'
+
+ - task: CopyFiles@2
+ condition: succeededOrFailed()
+ displayName: 'Test TX (PublishTestReports)'
+ inputs:
+ SourceFolder: '$(Build.SourcesDirectory)/test/tx/cmake'
+ Contents: |
+ build/*.txt
+ build/*/Testing/**/*.xml
+ coverage_report/**/*
+ TargetFolder: '$(ob_outputDirectory)/test_reports_TX'
+
+ - task: PublishCodeCoverageResults@1
+ condition: succeededOrFailed()
+ displayName: 'Test TX (PublishCodeCoverageResults)'
+ inputs:
+ codeCoverageTool: 'Cobertura'
+ summaryFileLocation: '$(Build.SourcesDirectory)/test/tx/cmake/coverage_report/default_build_coverage.xml'
+ pathToSources: '$(Build.SourcesDirectory)/test/tx/cmake'
+ reportDirectory: '$(Build.SourcesDirectory)/test/tx/cmake/coverage_report/default_build_coverage'
diff --git a/scripts/install.sh b/scripts/install.sh
new file mode 100755
index 00000000..5435f4fc
--- /dev/null
+++ b/scripts/install.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Install necessary softwares for Ubuntu.
+
+apt-get update
+apt-get install -y \
+ gcc-multilib \
+ git \
+ g++ \
+ python3-pip \
+ ninja-build \
+ unifdef \
+ p7zip-full \
+ tofrodos \
+ gawk \
+ cmake \
+ software-properties-common
+
+python3 -m pip install --upgrade pip
+pip3 install artifacts-keyring
+pip3 install gcovr==4.1 $INDEX_URL
+
diff --git a/scripts/sdl_check.sh b/scripts/sdl_check.sh
new file mode 100755
index 00000000..77eeb5ce
--- /dev/null
+++ b/scripts/sdl_check.sh
@@ -0,0 +1,19 @@
+# !/bin/bash
+dir_list="common common_smp common_modules ports ports_module ports_smp samples"
+exclude_list="-path TX"
+file_list=$(find $dir_list \( $exclude_list \) -prune -o -type f -name '*.[ch]' -print)
+cd $(dirname `realpath $0`)/..
+echo "Checking for unexpected usage of memcpy..."
+echo ""
+echo "Excluding:"
+echo $exclude_list | grep -P "[^\s]*/[^\s]*" -o
+echo ""
+echo "Result:"
+grep -i "memcpy(" -i $file_list -n | grep -i "use case of .* is verified" -v
+if [ "$?" -eq "1" ];
+then
+ echo "CLEAN"
+ exit 0
+else
+ exit 1
+fi \ No newline at end of file
diff --git a/test/smp/cmake/run.sh b/test/smp/cmake/run.sh
index d2f7f7df..429ff2bd 120000
--- a/test/smp/cmake/run.sh
+++ b/test/smp/cmake/run.sh
@@ -1 +1 @@
-../../../tools/cmake_bootstrap.sh \ No newline at end of file
+../../../scripts/cmake_bootstrap.sh \ No newline at end of file
diff --git a/test/tx/cmake/run.sh b/test/tx/cmake/run.sh
index d2f7f7df..429ff2bd 120000
--- a/test/tx/cmake/run.sh
+++ b/test/tx/cmake/run.sh
@@ -1 +1 @@
-../../../tools/cmake_bootstrap.sh \ No newline at end of file
+../../../scripts/cmake_bootstrap.sh \ No newline at end of file