166 lines
5.4 KiB
YAML
166 lines
5.4 KiB
YAML
resources:
|
|
repositories:
|
|
- repository: openvino_contrib
|
|
type: github
|
|
endpoint: openvinotoolkit
|
|
name: openvinotoolkit/openvino_contrib
|
|
ref: master
|
|
|
|
variables:
|
|
- group: github
|
|
|
|
jobs:
|
|
- job: Lin
|
|
# About 150% of total time
|
|
timeoutInMinutes: '90'
|
|
|
|
pool:
|
|
name: LIN_VMSS_VENV_F16S_U20_WU2
|
|
|
|
variables:
|
|
system.debug: true
|
|
VSTS_HTTP_RETRY: 5
|
|
VSTS_HTTP_TIMEOUT: 200
|
|
BUILD_TYPE: Release
|
|
REPO_DIR: $(Build.Repository.LocalPath)
|
|
OPENVINO_CONTRIB_REPO_DIR: $(REPO_DIR)/../openvino_contrib
|
|
WORK_DIR: $(Pipeline.Workspace)/_w
|
|
BUILD_DIR: $(WORK_DIR)/build
|
|
BUILD_SAMPLES_DIR: $(WORK_DIR)/build_samples
|
|
INSTALL_DIR: $(WORK_DIR)/install_pkg
|
|
SETUPVARS: $(INSTALL_DIR)/setupvars.sh
|
|
TMP_DIR: /mnt/tmp
|
|
SHARE_DIR: /mount/cinfsshare/onnxtestdata
|
|
CCACHE_DIR: $(SHARE_DIR)/ccache/master/linux_coverity
|
|
LD_LIBRARY_PATH: $(Agent.ToolsDirectory)/Python/$(OV_PYTHON_VERSION)/x64/lib
|
|
OV_PYTHON_VERSION: 3.11.2 # Full version of Python its required for LD_LIBRARY_PATH. More details https://github.com/microsoft/azure-pipelines-tool-lib/blob/master/docs/overview.md#tool-cache
|
|
|
|
steps:
|
|
- task: UsePythonVersion@0
|
|
inputs:
|
|
versionSpec: '$(OV_PYTHON_VERSION)' # Setting only major & minor version will download latest release from GH repo example 3.10 will be 3.10.10.
|
|
addToPath: true
|
|
disableDownloadFromRegistry: false
|
|
architecture: 'x64'
|
|
githubToken: $(auth_token)
|
|
displayName: Setup Python 3.11
|
|
name: setupPython
|
|
- bash: |
|
|
#!/bin/bash
|
|
python -V
|
|
|
|
- script: |
|
|
curl -H Metadata:true --noproxy "*" "http://169.254.169.254/metadata/instance?api-version=2019-06-01"
|
|
whoami
|
|
uname -a
|
|
echo Python3 info ; which python3 ; python3 --version
|
|
echo Python info ; which python ; python --version
|
|
echo Java info ; which java ; java -version
|
|
echo gcc info ; which gcc ; gcc --version
|
|
echo cmake info ; which cmake ; cmake --version
|
|
lsb_release
|
|
env
|
|
cat /proc/cpuinfo
|
|
cat /proc/meminfo
|
|
cat /etc/fstab
|
|
vmstat -s
|
|
df
|
|
lsblk -o NAME,HCTL,SIZE,MOUNTPOINT | grep -i "sd"
|
|
free -h
|
|
displayName: 'System info'
|
|
|
|
- script: |
|
|
set -e
|
|
rm -rf $(WORK_DIR) ; mkdir $(WORK_DIR)
|
|
rm -rf $(BUILD_DIR) ; mkdir $(BUILD_DIR)
|
|
rm -rf $(BUILD_SAMPLES_DIR) ; mkdir $(BUILD_SAMPLES_DIR)
|
|
sudo rm -rf $(TMP_DIR) ; sudo mkdir $(TMP_DIR) ; sudo chmod 777 -R $(TMP_DIR)
|
|
sudo mkdir -p $(SHARE_DIR)
|
|
sudo apt --assume-yes update && sudo apt --assume-yes install nfs-common
|
|
sudo mount -vvv -t nfs cinfsshare.file.core.windows.net:/cinfsshare/onnxtestdata $(SHARE_DIR) -o vers=4,minorversion=1,sec=sys
|
|
mkdir -p $(CCACHE_DIR)
|
|
displayName: 'Make dir'
|
|
|
|
- checkout: self
|
|
clean: 'true'
|
|
submodules: 'true'
|
|
path: openvino
|
|
|
|
- checkout: openvino_contrib
|
|
clean: 'true'
|
|
submodules: 'true'
|
|
path: openvino_contrib
|
|
|
|
- script: |
|
|
set -e
|
|
sudo -E $(REPO_DIR)/install_build_dependencies.sh
|
|
# Move jdk into contrib
|
|
sudo apt --assume-yes install openjdk-11-jdk
|
|
# Speed up build
|
|
sudo apt -y --no-install-recommends install unzip
|
|
wget https://github.com/ninja-build/ninja/releases/download/v1.10.2/ninja-linux.zip
|
|
unzip ninja-linux.zip
|
|
sudo cp -v ninja /usr/local/bin/
|
|
displayName: 'Install dependencies'
|
|
|
|
- task: CMake@1
|
|
inputs:
|
|
# Coverity has too many PARSE_ERROR errors with ENABLE_FASTER_BUILD=ON. Disabling FASTER_BUILD.
|
|
cmakeArgs: >
|
|
-G "Ninja Multi-Config"
|
|
-DENABLE_CPPLINT=OFF
|
|
-DCMAKE_VERBOSE_MAKEFILE=ON
|
|
-DENABLE_FASTER_BUILD=OFF
|
|
-DENABLE_STRICT_DEPENDENCIES=OFF
|
|
-DBUILD_nvidia_plugin=OFF
|
|
-DOPENVINO_EXTRA_MODULES=$(OPENVINO_CONTRIB_REPO_DIR)/modules
|
|
-DCMAKE_CXX_COMPILER_LAUNCHER=ccache
|
|
-DCMAKE_C_COMPILER_LAUNCHER=ccache
|
|
-S $(REPO_DIR)
|
|
-B $(BUILD_DIR)
|
|
displayName: "Cmake configure"
|
|
|
|
- script: ls -alR $(REPO_DIR)/temp/
|
|
displayName: 'List temp SDKs'
|
|
|
|
- script: ccache --zero-stats --max-size=50G --show-config
|
|
displayName: 'Clean ccache stats'
|
|
|
|
- script: |
|
|
set -e
|
|
wget https://scan.coverity.com/download/linux64 --post-data "token=$(COVERITY_TOKEN)&project=openvino" -O coverity_tool.tgz
|
|
tar xvf coverity_tool.tgz
|
|
rm coverity_tool.tgz
|
|
workingDirectory: $(WORK_DIR)
|
|
displayName: 'Install coverity tool'
|
|
|
|
- script: |
|
|
$(WORK_DIR)/cov-analysis*/bin/cov-build --dir $(BUILD_DIR)/cov-int \
|
|
cmake --build $(BUILD_DIR) --parallel --config $(BUILD_TYPE)
|
|
env:
|
|
CCACHE_DIR: $(CCACHE_DIR)
|
|
CCACHE_TEMPDIR: $(TMP_DIR)/ccache
|
|
CCACHE_BASEDIR: $(Pipeline.Workspace)
|
|
CCACHE_MAXSIZE: 50G
|
|
displayName: 'Build Lin with Coverity'
|
|
|
|
- script: ccache --show-stats
|
|
displayName: 'Show ccache stats'
|
|
|
|
- script: ls -alR $(REPO_DIR)/bin/
|
|
displayName: 'List bin files'
|
|
|
|
- script: tar -C $(BUILD_DIR) -czvf openvino.tgz cov-int
|
|
workingDirectory: $(BUILD_DIR)
|
|
displayName: 'Pack cov-int folder for submission'
|
|
|
|
- script: |
|
|
curl --form token=$(COVERITY_TOKEN) \
|
|
--form email=$(COVERITY_USER) \
|
|
--form file=@openvino.tgz \
|
|
--form version="$(Build.SourceVersion)" \
|
|
--form description="https://github.com/openvinotoolkit/openvino/runs/$(Build.BuildNumber)" \
|
|
https://scan.coverity.com/builds?project=openvino
|
|
workingDirectory: $(BUILD_DIR)
|
|
displayName: 'Submit for analysis'
|