CCF/.azure-pipelines-templates/matrix.yml

84 строки
2.6 KiB
YAML

parameters:
target: ["NoSGX", "SGX"]
env:
Hosted:
container: nosgx
pool:
vmImage: ubuntu-20.04
NoSGX:
container: nosgx
pool: 1es-dv4-focal
SGX:
container: sgx
pool: 1es-dcv2-focal
build:
common:
cmake_args: '-DCMAKE_C_COMPILER_LAUNCHER="ccache" -DCMAKE_CXX_COMPILER_LAUNCHER="ccache"'
NoSGX:
cmake_args: "-DCOMPILE_TARGETS=virtual"
SGX:
cmake_args: "-DCOMPILE_TARGETS=sgx"
debug:
cmake_args: "-DCMAKE_BUILD_TYPE=Debug -DLVI_MITIGATIONS=OFF"
perf:
cmake_args: '-DBUILD_UNIT_TESTS=OFF -DBUILD_TPCC=ON -DDISTRIBUTE_PERF_TESTS="-n local://localhost -n local://localhost"'
release:
cmake_args: "-DTLS_TEST=ON -DLONG_TESTS=ON -DENABLE_BFT=OFF"
test:
NoSGX:
ctest_args: '-LE "benchmark|perf|tlstest|vegeta|partitions|suite"'
SGX:
ctest_args: '-LE "benchmark|perf|tlstest|vegeta|partitions|suite"'
perf:
ctest_args: '-L "benchmark|perf|vegeta"'
release:
ctest_args: '-LE "partitions"'
jobs:
# Debug
- ${{ each target in parameters.target }}:
- template: common.yml
parameters:
target: ${{ target }}
env: ${{ parameters.env[target] }}
cmake_args: "${{ parameters.build.common.cmake_args }} ${{ parameters.build.debug.cmake_args }} ${{ parameters.build[target].cmake_args }}"
suffix: "Debug"
artifact_name: "${{ target }}_Debug"
ctest_filter: "${{ parameters.test[target].ctest_args }}"
# Performance
- ${{ if eq(parameters.perf_tests, 'run') }}:
- template: common.yml
parameters:
target: SGX
env: ${{ parameters.env.SGX }}
cmake_args: "${{ parameters.build.common.cmake_args }} ${{ parameters.build.perf.cmake_args }} ${{ parameters.build.SGX.cmake_args }}"
suffix: "Perf"
artifact_name: "SGX_Perf"
ctest_filter: "${{ parameters.test.perf.ctest_args }}"
# Release
- ${{ if eq(parameters.perf_or_release, 'release') }}:
- template: checks.yml
parameters:
env: ${{ parameters.env.Hosted }}
- template: common.yml
parameters:
target: SGX
env: ${{ parameters.env.SGX }}
cmake_args: "${{ parameters.build.common.cmake_args }} ${{ parameters.build.release.cmake_args }}"
suffix: "Release"
artifact_name: "SGX_Release"
ctest_filter: "${{ parameters.test.release.ctest_args }}"
- template: release.yml
parameters:
env: ${{ parameters.env.Hosted }}
depends_on:
- Checks
- SGX_Release