blob: 1bf54cca09ab4ce9277615c37aced32924afe45e [file] [log] [blame]
# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
x-isgx-1804-image: &isgx-1804-image
image: teaclave/teaclave-build-ubuntu-1804-sgx-2.17.1:0.2.0
kind: pipeline
name: sgx-debug-ubuntu-1804
steps:
- name: prepare
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON ..
- name: check
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make VERBOSE=1 -j2
- name: tvm example
<<: *isgx-1804-image
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *isgx-1804-image
environment:
AS_ALGO: sgx_epid
AS_URL: https://api.trustedservices.intel.com:443
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
privileged: true
volumes:
- name: isgx
path: /dev/isgx
- name: aesmd
path: /var/run/aesmd/aesm.socket
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- (cd release/tool && ./teaclave_sgx_tool status)
- (cd release/tool && ./teaclave_sgx_tool attestation --key $AS_KEY --spid $AS_SPID)
- cd build && make run-tests
volumes:
- name: isgx
host:
path: /dev/isgx
- name: aesmd
host:
path: /var/run/aesmd/aesm.socket
node:
instance: mesatee-sgx
---
x-dcap-1804-image: &dcap-1804-image
image: teaclave/teaclave-build-ubuntu-1804-sgx-dcap-1.14:0.2.0
kind: pipeline
name: sgx-dcap-debug-ubuntu-1804
steps:
- name: prepare
<<: *dcap-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON -DDCAP=ON ..
- name: check
<<: *dcap-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *dcap-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- sed -i 's/ias_root_ca_cert/dcap_root_ca_cert/' config/build.config.toml
- cd build && make VERBOSE=1 -j2
- name: tvm example
<<: *dcap-1804-image
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *dcap-1804-image
environment:
AS_ALGO: sgx_ecdsa
AS_URL: https://localhost:8080
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
privileged: true
volumes:
- name: sgx
path: /dev/sgx
- name: sgx_enclave
path: /dev/sgx_enclave
- name: sgx_provision
path: /dev/sgx_provision
- name: aesmd
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
path: /etc/aesmd.conf
- name: qcnl
path: /etc/sgx_default_qcnl.conf
commands:
- echo "$(ip route | awk 'NR==1 {print $3}') pccs-server" >> /etc/hosts
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- (cd release/dcap && ./teaclave_dcap_ref_as &)
- cd build && make run-tests
volumes:
- name: sgx
host:
path: /dev/sgx
- name: sgx_enclave
host:
path: /dev/sgx_enclave
- name: sgx_provision
host:
path: /dev/sgx_provision
- name: aesmd
host:
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
host:
path: /etc/aesmd.conf
- name: qcnl
host:
path: /etc/sgx_default_qcnl.conf
node:
instance: mesatee-sgx-dcap
---
x-isgx-2004-image: &isgx-2004-image
image: teaclave/teaclave-build-ubuntu-2004-sgx-2.17.1:0.2.0
kind: pipeline
name: sgx-debug-ubuntu-2004
steps:
- name: prepare
<<: *isgx-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON ..
- name: check
<<: *isgx-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *isgx-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make VERBOSE=1 -j2
- name: tvm example
<<: *isgx-2004-image
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *isgx-2004-image
environment:
AS_ALGO: sgx_epid
AS_URL: https://api.trustedservices.intel.com:443
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
privileged: true
volumes:
- name: isgx
path: /dev/isgx
- name: aesmd
path: /var/run/aesmd/aesm.socket
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- (cd release/tool && ./teaclave_sgx_tool status)
- (cd release/tool && ./teaclave_sgx_tool attestation --key $AS_KEY --spid $AS_SPID)
- cd build && make run-tests
volumes:
- name: isgx
host:
path: /dev/isgx
- name: aesmd
host:
path: /var/run/aesmd/aesm.socket
node:
instance: mesatee-sgx
---
x-dcap-2004-image: &dcap-2004-image
image: teaclave/teaclave-build-ubuntu-2004-sgx-dcap-1.14:0.2.0
kind: pipeline
name: sgx-dcap-debug-ubuntu-2004
steps:
- name: prepare
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON -DDCAP=ON ..
- name: check
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- sed -i 's/ias_root_ca_cert/dcap_root_ca_cert/' config/build.config.toml
- cd build && make VERBOSE=1 -j2
- name: tvm example
image: teaclave/teaclave-build-ubuntu-1804-sgx-2.17.1:0.2.0
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *dcap-2004-image
environment:
AS_ALGO: sgx_ecdsa
AS_URL: https://localhost:8080
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
privileged: true
volumes:
- name: sgx
path: /dev/sgx
- name: sgx_enclave
path: /dev/sgx_enclave
- name: sgx_provision
path: /dev/sgx_provision
- name: aesmd
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
path: /etc/aesmd.conf
- name: qcnl
path: /etc/sgx_default_qcnl.conf
commands:
- echo "$(ip route | awk 'NR==1 {print $3}') pccs-server" >> /etc/hosts
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- (cd release/dcap && ./teaclave_dcap_ref_as &)
- cd build && make run-tests
volumes:
- name: sgx
host:
path: /dev/sgx
- name: sgx_enclave
host:
path: /dev/sgx_enclave
- name: sgx_provision
host:
path: /dev/sgx_provision
- name: aesmd
host:
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
host:
path: /etc/aesmd.conf
- name: qcnl
host:
path: /etc/sgx_default_qcnl.conf
node:
instance: mesatee-sgx-dcap
---
x-dcap-2004-image: &dcap-2004-image
image: teaclave/teaclave-build-ubuntu-2004-sgx-dcap-1.14:0.2.0
kind: pipeline
name: sgx-dcap-coverage-ubuntu-2004
steps:
- name: prepare
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON -DDCAP=ON -DCOV=ON ..
- name: check
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- sed -i 's/ias_root_ca_cert/dcap_root_ca_cert/' config/build.config.toml
- cd build && make VERBOSE=1 -j2
- name: tvm example
image: teaclave/teaclave-build-ubuntu-1804-sgx-2.17.1:0.2.0
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *dcap-2004-image
environment:
AS_ALGO: sgx_ecdsa
AS_URL: https://localhost:8080
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
privileged: true
volumes:
- name: sgx
path: /dev/sgx
- name: sgx_enclave
path: /dev/sgx_enclave
- name: sgx_provision
path: /dev/sgx_provision
- name: aesmd
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
path: /etc/aesmd.conf
- name: qcnl
path: /etc/sgx_default_qcnl.conf
commands:
- echo "$(ip route | awk 'NR==1 {print $3}') pccs-server" >> /etc/hosts
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- (cd release/dcap && ./teaclave_dcap_ref_as &)
- cd build && make run-tests && make cov
volumes:
- name: sgx
host:
path: /dev/sgx
- name: sgx_enclave
host:
path: /dev/sgx_enclave
- name: sgx_provision
host:
path: /dev/sgx_provision
- name: aesmd
host:
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
host:
path: /etc/aesmd.conf
- name: qcnl
host:
path: /etc/sgx_default_qcnl.conf
node:
instance: mesatee-sgx-dcap
---
x-dcap-2004-image: &dcap-2004-image
image: teaclave/teaclave-build-ubuntu-2004-sgx-dcap-1.14:0.2.0
kind: pipeline
name: sgx-dcap-release-ubuntu-2004
steps:
- name: prepare
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Release -DTEST_MODE=OFF -DDCAP=ON ..
- name: check
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *dcap-2004-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- sed -i 's/ias_root_ca_cert/dcap_root_ca_cert/' config/build.config.toml
- cd build && make VERBOSE=1 -j2
- name: tvm example
<<: *dcap-2004-image
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *dcap-2004-image
environment:
AS_ALGO: sgx_ecdsa
AS_URL: https://localhost:8080
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
privileged: true
volumes:
- name: sgx
path: /dev/sgx
- name: sgx_enclave
path: /dev/sgx_enclave
- name: sgx_provision
path: /dev/sgx_provision
- name: aesmd
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
path: /etc/aesmd.conf
- name: qcnl
path: /etc/sgx_default_qcnl.conf
commands:
- echo "$(ip route | awk 'NR==1 {print $3}') pccs-server" >> /etc/hosts
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- (cd release/dcap && ./teaclave_dcap_ref_as &)
- cd build && make run-examples
volumes:
- name: sgx
host:
path: /dev/sgx
- name: sgx_enclave
host:
path: /dev/sgx_enclave
- name: sgx_provision
host:
path: /dev/sgx_provision
- name: aesmd
host:
path: /var/run/aesmd/aesm.socket
- name: aesmd-conf
host:
path: /etc/aesmd.conf
- name: qcnl
host:
path: /etc/sgx_default_qcnl.conf
node:
instance: mesatee-sgx-dcap
---
x-isgx-1804-image: &isgx-1804-image
image: teaclave/teaclave-build-ubuntu-1804-sgx-2.17.1:0.2.0
kind: pipeline
name: sgx-release-ubuntu-1804
steps:
- name: prepare
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Release -DTEST_MODE=OFF ..
- name: check
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make VERBOSE=1 -j2
- name: tvm example
<<: *isgx-1804-image
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *isgx-1804-image
privileged: true
environment:
AS_ALGO: sgx_epid
AS_URL: https://api.trustedservices.intel.com:443
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
volumes:
- name: isgx
path: /dev/isgx
- name: aesmd
path: /var/run/aesmd/aesm.socket
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make run-examples
volumes:
- name: isgx
host:
path: /dev/isgx
- name: aesmd
host:
path: /var/run/aesmd/aesm.socket
node:
instance: mesatee-sgx
---
x-isgx-1804-image: &isgx-1804-image
image: teaclave/teaclave-build-ubuntu-1804-sgx-2.17.1:0.2.0
kind: pipeline
name: sim-debug-ubuntu-1804
steps:
- name: prepare
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DSGX_SIM_MODE=ON -DTEST_MODE=ON ..
- name: check
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make VERBOSE=1 -j2
- name: tvm example
<<: *isgx-1804-image
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *isgx-1804-image
environment:
AS_ALGO: sgx_epid
AS_URL: https://api.trustedservices.intel.com:443
AS_KEY:
from_secret: V5_KEY
AS_SPID:
from_secret: V5_SPID
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make run-tests
node:
instance: mesatee-sgx
---
x-isgx-1804-image: &isgx-1804-image
image: teaclave/teaclave-build-ubuntu-1804-sgx-2.17.1:0.2.0
kind: pipeline
name: sim-release-ubuntu-1804
steps:
- name: prepare
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DCMAKE_BUILD_TYPE=Release -DSGX_SIM_MODE=ON -DTEST_MODE=OFF ..
- name: check
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: compile
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make VERBOSE=1 -j2
- name: tvm example
<<: *isgx-1804-image
commands:
- . ~/.cargo/env
- cd examples/python/wasm_tvm_mnist_payload
- make
- name: test
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make run-examples
node:
instance: mesatee-sgx
---
x-isgx-1804-image: &isgx-1804-image
image: teaclave/teaclave-build-ubuntu-1804-sgx-2.17.1:0.2.0
kind: pipeline
name: lint
steps:
- name: prepare
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- mkdir -p build
- cd build && cmake -DRUSTFLAGS="-D warnings" -DTEST_MODE=ON ..
- name: check
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make check
- name: clippy
<<: *isgx-1804-image
commands:
- . /root/.cargo/env
- . /opt/sgxsdk/environment
- cd build && make CLP=1
node:
instance: mesatee-sgx
---
kind: pipeline
name: notification
steps:
- name: notify
image: drillster/drone-email
settings:
username:
from_secret: EMAIL_USERNAME
password:
from_secret: EMAIL_PASSWORD
host:
from_secret: EMAIL_HOST
from:
from_secret: EMAIL_FROM
subject: >
[{{ build.status }}]
{{ repo.owner }}/{{ repo.name }}
({{ commit.branch }} - {{ truncate commit.sha 8 }})
when:
status:
- failure
- success
trigger:
status:
- failure
- success
cron:
exclude:
- hourly
depends_on:
- sgx-debug-ubuntu-1804
- sgx-dcap-debug-ubuntu-1804
- sgx-debug-ubuntu-2004
- sgx-dcap-debug-ubuntu-2004
- sgx-dcap-coverage-ubuntu-2004
- sgx-release-ubuntu-1804
- sim-debug-ubuntu-1804
- sim-release-ubuntu-1804
- lint
node:
instance: mesatee-sgx