Skip to content

Commit

Permalink
#1202: CI: add new CI target for Intel 21
Browse files Browse the repository at this point in the history
  • Loading branch information
lifflander committed Jan 7, 2021
1 parent 9971ac0 commit 75b14c2
Show file tree
Hide file tree
Showing 4 changed files with 166 additions and 2 deletions.
145 changes: 145 additions & 0 deletions ci/azure/azure-intel-21-ubuntu-mpich.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
###############################################################################
############## Warning this is a generated file---do not modify ###############
###############################################################################

name: PR tests (intel oneapi 21, ubuntu, mpich)

trigger:
branches:
include:
- develop
- 1.0.0*

pr:
branches:
include:
- '*'


resources:
- repo: self

variables:
tag: '$(Build.BuildId)'
REPO: lifflander1/vt
ARCH: amd64
UBUNTU: 18.04
COMPILER_TYPE: intel-oneapi
COMPILER: icc-21
BUILD_TYPE: release
ULIMIT_CORE: 0
CODE_COVERAGE: 0
VT_LB: 1
VT_TRACE: 1
VT_TRACE_RT: 0
VT_MIMALLOC: 0
VT_DOCS: 0
VT_ASAN: 0
VT_POOL: 0
VT_EXTENDED_TESTS: 0
VT_UNITY_BUILD: 1
VT_ZOLTAN: 0
VT_CI_BUILD: 1
VT_DIAGNOSTICS: 1
CACHE: "$(Agent.TempDirectory)/cache/"
cache_name: ubuntu-intel-21-cache
build_root: "$(CACHE)/$(ARCH)-ubuntu-$(UBUNTU)-$(COMPILER)-cache/"
TS: 0
TS_YEAR: 0
TS_MONTH: 0
TS_DAY: 0

stages:
- stage: Build
displayName: Build image
jobs:
- job: Build
displayName: Build
pool:
vmImage: 'ubuntu-18.04'
timeoutInMinutes: 180
steps:
- task: Bash@3
displayName: Job setup
inputs:
targetType: 'inline'
script: |
echo setup
- task: Bash@3
displayName: Build timestep for caching
inputs:
targetType: 'inline'
script: |
echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS]$val"
echo 'string(TIMESTAMP current_date "%Y" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS_YEAR]$val"
echo 'string(TIMESTAMP current_date "%m" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS_MONTH]$val"
echo 'string(TIMESTAMP current_date "%d" UTC)' > script
echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script
val=$(cmake -P script)
echo "##vso[task.setvariable variable=TS_DAY]$val"
- task: Bash@3
displayName: Output timestamp for caching
inputs:
targetType: 'inline'
script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"'
- task: Cache@2
displayName: Update cache
inputs:
securityNamespace: cache
key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS)
path: '$(build_root)/ccache'
restoreKeys: |
$(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY)
$(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH)
$(Agent.OS) | "$(cache_name)" | $(TS_YEAR)
$(Agent.OS) | "$(cache_name)"
- task: DockerCompose@0
displayName: Pull container
inputs:
containerregistrytype: 'Container Registry'
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: 'pull --ignore-pull-failures ubuntu-cpp-clean'
- task: DockerCompose@0
displayName: Build container
inputs:
containerregistrytype: 'Container Registry'
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: 'run ubuntu-cpp-clean'
- task: DockerCompose@0
displayName: Push container to registry
inputs:
containerregistrytype: 'Container Registry'
dockerRegistryEndpoint: 'dockerRegistryConnection1'
dockerComposeFile: '**/docker-compose.yml'
action: 'Run a Docker Compose command'
dockerComposeCommand: 'push ubuntu-cpp-clean'
- task: Bash@3
displayName: Create artifacts
inputs:
targetType: 'inline'
script: |
zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)/vt/Testing/Temporary/LastTest.log
zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)/vt/cmake-output.log
- task: PublishPipelineArtifact@1
displayName: Upload CMake test output artifact
inputs:
targetPath: '$(Agent.TempDirectory)/LastTest.log.gz'
artifact: 'CMakeLastTestLog'
publishLocation: 'pipeline'
- task: PublishPipelineArtifact@1
displayName: Upload CMake full output artifact
inputs:
targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz'
artifact: 'CMakeOutputLog'
publishLocation: 'pipeline'
5 changes: 5 additions & 0 deletions ci/build_cpp.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,11 @@ else
{ echo -e "===\n=== ccache not found, compiling without it\n==="; } 2>/dev/null
fi

if test "${BUILD_PARALLELISM:-0}" -ne 0
then
export CMAKE_BUILD_PARALLEL_LEVEL="${BUILD_PARALLELISM}"
fi

mkdir -p "${build_dir}"
pushd "${build_dir}"

Expand Down
8 changes: 6 additions & 2 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,11 @@
#
# Variables:
# ARCH={amd64, arm64v8, ...}
# COMPILER_TYPE={gnu, clang, intel, nvidia}
# COMPILER_TYPE={gnu, clang, intel, intel-oneapi, nvidia}
# COMPILER={gcc-5, gcc-6, gcc-7, gcc-8, gcc-9, gcc-10,
# clang-3.9, clang-4.0, clang-5.0, clang-6.0, clang-7, clang-8,
# clang-9, clang-10,
# icc-18, icc-19,
# icc-18, icc-19, icc-21
# nvcc-10, nvcc-11}
# REPO=lifflander1/vt
# UBUNTU={18.04, 20.04}
Expand All @@ -33,6 +33,7 @@
# VT_DIAGNOSTICS_RUNTIME=0 # Enable diagnostics collection at runtime by default
# BUILD_TYPE=release # CMake build type
# CODE_COVERAGE=0 # Enable generation of code coverage reports
# BUILD_PARALLELISM=0 # Set build parallelism (default 0 means auto detect)
#
# In order to run in the container, there are two stages. First, one must build
# or pull the base container with the variables exported (or using the defaults
Expand Down Expand Up @@ -80,6 +81,7 @@ volumes:
amd64-ubuntu-18.04-icc-18-cache:
amd64-ubuntu-18.04-icc-19-cache:
amd64-ubuntu-18.04-icc-20-cache:
amd64-ubuntu-18.04-icc-21-cache:
amd64-ubuntu-18.04-nvcc-10-cache:
amd64-ubuntu-18.04-nvcc-11-cache:
amd64-alpine-clang-3.9-cache:
Expand All @@ -99,6 +101,7 @@ volumes:
amd64-alpine-icc-18-cache:
amd64-alpine-icc-19-cache:
amd64-alpine-icc-20-cache:
amd64-alpine-icc-21-cache:
amd64-alpine-nvcc-10-cache:
amd64-alpine-nvcc-11-cache:
arm64v8-ubuntu-18.04-gcc-7-cache:
Expand Down Expand Up @@ -135,6 +138,7 @@ x-vtopts: &vtopts
https_proxy: ${PROXY-}
http_proxy: ${PROXY-}
VT_CI_BUILD: ${VT_CI_BUILD:-0}
BUILD_PARALLELISM: ${BUILD_PARALLELISM:-0}

services:
##############################################################################
Expand Down
10 changes: 10 additions & 0 deletions scripts/workflows-azure.ini
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,16 @@ vt_trace = 1
vt_pool = 0
vt_extended_tests = 0

[PR-tests-intel-21]
test_configuration = "intel oneapi 21, ubuntu, mpich"
compiler_type = intel-oneapi
compiler = icc-21
cache_name = ubuntu-intel-21-cache
output_name = ci/azure/azure-intel-21-ubuntu-mpich.yml
vt_trace = 1
vt_pool = 0
vt_extended_tests = 0

[PR-tests-intel-18-03-extended]
test_type = "PR tests extended"
test_configuration = "intel 18.03, ubuntu, mpich"
Expand Down

0 comments on commit 75b14c2

Please sign in to comment.