Skip to content

Commit

Permalink
Restore 4.x release pipeline files (#6391)
Browse files Browse the repository at this point in the history
Co-authored-by: Amaury Chamayou <[email protected]>
  • Loading branch information
eddyashton and achamayou authored Jul 26, 2024
1 parent 542be2a commit c39ac39
Show file tree
Hide file tree
Showing 2 changed files with 151 additions and 0 deletions.
36 changes: 36 additions & 0 deletions .azure-pipelines-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
trigger:
tags:
include:
- ccf-4.*

pr: none

resources:
containers:
- container: virtual
image: ghcr.io/microsoft/ccf/ci/default:build-25-07-2024
options: --publish-all --cap-add NET_ADMIN --cap-add NET_RAW --cap-add SYS_PTRACE -v /lib/modules:/lib/modules:ro

- container: snp
image: ghcr.io/microsoft/ccf/ci/default:build-25-07-2024
options: --publish-all --cap-add NET_ADMIN --cap-add NET_RAW --cap-add SYS_PTRACE -v /lib/modules:/lib/modules:ro

- container: sgx
image: ghcr.io/microsoft/ccf/ci/sgx:build-25-07-2024
options: --publish-all --cap-add NET_ADMIN --cap-add NET_RAW --device /dev/sgx_enclave:/dev/sgx_enclave --device /dev/sgx_provision:/dev/sgx_provision -v /dev/sgx:/dev/sgx -v /lib/modules:/lib/modules:ro

variables:
${{ if startsWith(variables['Build.SourceBranch'], 'refs/tags/ccf-') }}:
perf_or_release: release
perf_tests: no_run
${{ if not(startsWith(variables['Build.SourceBranch'], 'refs/tags/ccf-')) }}:
perf_or_release: perf
perf_tests: run

jobs:
- template: .azure-pipelines-templates/configure.yml

- template: .azure-pipelines-templates/release-matrix.yml
parameters:
perf_or_release: ${{ variables['perf_or_release'] }}
perf_tests: ${{ variables['perf_tests'] }}
115 changes: 115 additions & 0 deletions .azure-pipelines-templates/release-matrix.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
parameters:
target: ["Virtual", "SGX"]

env:
Hosted:
container: virtual
pool:
vmImage: ubuntu-20.04
Virtual:
container: virtual
pool: ado-virtual-release
SGX:
container: sgx
pool: ado-sgx-release
SNPCC:
container: snp
pool: ado-virtual-release

build:
common:
cmake_args: ""
cmake_env: ""
ninja_targets: "default"
Virtual:
cmake_args: "-DCOMPILE_TARGET=virtual"
cmake_env: "CC=`which clang-15` CXX=`which clang++-15`"
ninja_targets: "default"
SGX:
cmake_args: "-DCOMPILE_TARGET=sgx"
cmake_env: ""
ninja_targets: "default"
SNPCC:
cmake_args: "-DCOMPILE_TARGET=snp -DLVI_MITIGATIONS=OFF -DLONG_TESTS=OFF"
cmake_env: "CC=`which clang-15` CXX=`which clang++-15`"
ninja_targets: "default"
release:
cmake_args: "-DCLIENT_PROTOCOLS_TEST=ON -DLONG_TESTS=ON"
cmake_env: ""
ninja_targets: "default"
unsafe:
cmake_args: "-DLVI_MITIGATIONS=OFF -DVERBOSE_LOGGING=ON -DUNSAFE_VERSION=ON"
cmake_env: ""
ninja_targets: "default"

test:
Virtual:
ctest_args: '-LE "benchmark|perf|protocolstest|vegeta|suite"'
SGX:
ctest_args: '-LE "benchmark|perf|protocolstest|vegeta|suite"'
perf:
ctest_args: '-L "benchmark|perf|vegeta"'
release:
ctest_args: '-LE "benchmark|perf"'

jobs:
- 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 }} ${{ parameters.build.SGX.cmake_args }}"
suffix: "Release"
artifact_name: "SGX_Release"
ctest_filter: "${{ parameters.test.release.ctest_args }}"
depends_on: configure
installExtendedTestingTools: true

- template: common.yml
parameters:
target: SNPCC
env: ${{ parameters.env.SNPCC }}
cmake_args: "${{ parameters.build.common.cmake_args }} ${{ parameters.build.release.cmake_args }} ${{ parameters.build.SNPCC.cmake_args }}"
cmake_env: "${{ parameters.build.SNPCC.cmake_env }}"
suffix: "Release"
artifact_name: "SNPCC_Release"
ctest_filter: "${{ parameters.test.release.ctest_args }}"
depends_on: configure
installExtendedTestingTools: true

- template: common.yml
parameters:
target: Virtual
env: ${{ parameters.env.Virtual }}
cmake_args: "${{ parameters.build.common.cmake_args }} ${{ parameters.build.release.cmake_args }} ${{ parameters.build.Virtual.cmake_args }}"
cmake_env: "${{ parameters.build.Virtual.cmake_env }}"
suffix: "Release"
artifact_name: "Virtual_Release"
ctest_filter: "${{ parameters.test.release.ctest_args }}"
depends_on: configure
installExtendedTestingTools: true

# Build that produces unsafe binaries for troubleshooting purposes
- template: common.yml
parameters:
target: SGX
env: ${{ parameters.env.SGX }}
cmake_args: "${{ parameters.build.common.cmake_args }} ${{ parameters.build.unsafe.cmake_args }} ${{ parameters.build.SGX.cmake_args }}"
suffix: "Unsafe"
artifact_name: "SGX_Unsafe"
ctest_filter: "${{ parameters.test.release.ctest_args }}"
depends_on: configure
installExtendedTestingTools: false

- template: release.yml
parameters:
env: ${{ parameters.env.Hosted }}
depends_on:
- Checks
- SGX_Release
- Virtual_Release
- SNPCC_Release
- SGX_Unsafe

0 comments on commit c39ac39

Please sign in to comment.