This is an automated email from the ASF dual-hosted git repository. mssun pushed a commit to branch develop in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git
commit def8b105fefa3828a89f5ff4e19226060a1af4b7 Author: Mingshen Sun <[email protected]> AuthorDate: Fri Feb 7 22:32:10 2020 -0800 [ci] Enable dcap --- .drone.yml | 68 ++++++++++++++++++++ docker/build.ubuntu-1804.dcap.Dockerfile | 104 +++++++++++++++++++++++++++++++ 2 files changed, 172 insertions(+) diff --git a/.drone.yml b/.drone.yml index fbf0495..5fa934e 100644 --- a/.drone.yml +++ b/.drone.yml @@ -51,6 +51,74 @@ node: --- kind: pipeline +name: sgx-dcap-debug-ubuntu-1804 + +steps: +- name: prepare + image: teaclave/teaclave-build-ubuntu-1804-dcap:0.1.0 + commands: + - . /root/.cargo/env + - mkdir -p build + - cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DTEST_MODE=ON .. +- name: check + image: teaclave/teaclave-build-ubuntu-1804-dcap:0.1.0 + commands: + - . /root/.cargo/env + - cd build && make check +- name: compile + image: teaclave/teaclave-build-ubuntu-1804-dcap:0.1.0 + commands: + - . /root/.cargo/env + - . /opt/sgxsdk/environment + - sed -i 's/ias_root_ca_cert/dcap_root_ca_cert/' config/build.config.toml + - (cd dcap && cargo build) + - cd build && make VERBOSE=1 -j2 +- name: test + image: teaclave/teaclave-build-ubuntu-1804-dcap:0.1.0 + 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: aesmd + path: /var/run/aesmd/aesm.socket + - name: aesmd-conf + path: /etc/aesmd.conf + - name: qcnl + path: /etc/sgx_default_qcnl.conf + commands: + - apt-get update && apt-get install -y iputils-ping iproute2 curl + - echo "$(ip route | awk 'NR==1 {print $3}') pccs-server" >> /etc/hosts + - . /root/.cargo/env + - (cd dcap && target/debug/teaclave_dcap_ref_as &) + - cd build && make run-test + +volumes: +- name: sgx + host: + path: /dev/sgx +- 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 + +--- + +kind: pipeline name: sgx-release-ubuntu-1804 steps: diff --git a/docker/build.ubuntu-1804.dcap.Dockerfile b/docker/build.ubuntu-1804.dcap.Dockerfile new file mode 100644 index 0000000..ddc3fd5 --- /dev/null +++ b/docker/build.ubuntu-1804.dcap.Dockerfile @@ -0,0 +1,104 @@ +FROM ubuntu:18.04 + +ENV SGX_DOWNLOAD_URL_BASE "https://download.01.org/intel-sgx/sgx-dcap/1.3.1/linux/distro/ubuntuServer18.04" + +ENV SGX_LINUX_X64_SDK sgx_linux_x64_sdk_2.7.101.3.bin +ENV LIBSGX_ENCLAVE_COMMON libsgx-enclave-common_2.7.101.3-bionic1_amd64.deb +ENV LIBSGX_ENCLAVE_COMMON_DEV libsgx-enclave-common-dev_2.7.101.3-bionic1_amd64.deb +ENV LIBSGX_ENCLAVE_COMMON_DBGSYM libsgx-enclave-common-dbgsym_2.7.101.3-bionic1_amd64.ddeb +ENV LIBSGX_DCAP_QL libsgx-dcap-ql_1.3.101.3-bionic1_amd64.deb +ENV LIBSGX_DCAP_QL_DEV libsgx-dcap-ql-dev_1.3.101.3-bionic1_amd64.deb +ENV LIBSGX_DCAP_DEFAULT_QPL libsgx-dcap-default-qpl_1.3.101.3-bionic1_amd64.deb +ENV LIBSGX_DCAP_DEFAULT_QPL_DEV libsgx-dcap-default-qpl-dev_1.3.101.3-bionic1_amd64.deb +ENV LIBSGX_DCAP_DEFAULT_QPL_DEV_DBG libsgx-dcap-default-qpl-dbg_1.3.101.3-bionic1_amd64.deb + +ENV SGX_LINUX_X64_SDK_URL "$SGX_DOWNLOAD_URL_BASE/$SGX_LINUX_X64_SDK" +ENV LIBSGX_ENCLAVE_COMMON_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_ENCLAVE_COMMON" +ENV LIBSGX_ENCLAVE_COMMON_DEV_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_ENCLAVE_COMMON_DEV" +ENV LIBSGX_ENCLAVE_COMMON_DBGSYM_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_ENCLAVE_COMMON_DBGSYM" +ENV LIBSGX_DCAP_QL_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_DCAP_QL" +ENV LIBSGX_DCAP_QL_DEV_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_DCAP_QL_DEV" +ENV LIBSGX_DCAP_DEFAULT_QPL_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_DCAP_DEFAULT_QPL" +ENV LIBSGX_DCAP_DEFAULT_QPL_DEV_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_DCAP_DEFAULT_QPL_DEV" +ENV LIBSGX_DCAP_DEFAULT_QPL_DEV_DBG_URL "$SGX_DOWNLOAD_URL_BASE/$LIBSGX_DCAP_DEFAULT_QPL_DEV_DBG" + +ENV DEBIAN_FRONTEND=noninteractive + +ENV RUST_TOOLCHAIN nightly-2019-11-25 + +# install SGX dependencies +RUN apt-get update && apt-get install -q -y \ + build-essential \ + ocaml \ + ocamlbuild \ + automake \ + autoconf \ + libtool \ + wget \ + python \ + python3 \ + libssl-dev \ + libcurl4-openssl-dev \ + libprotobuf-dev + +RUN mkdir ~/sgx && \ + mkdir /etc/init && \ + cd ~/sgx && \ + wget -O $LIBSGX_ENCLAVE_COMMON "$LIBSGX_ENCLAVE_COMMON_URL" && \ + wget -O $LIBSGX_ENCLAVE_COMMON_DEV "$LIBSGX_ENCLAVE_COMMON_DEV_URL" && \ + wget -O $LIBSGX_ENCLAVE_COMMON_DBGSYM "$LIBSGX_ENCLAVE_COMMON_DBGSYM_URL" && \ + wget -O $SGX_LINUX_X64_SDK "$SGX_LINUX_X64_SDK_URL" && \ + wget -O $LIBSGX_DCAP_QL "$LIBSGX_DCAP_QL_URL" && \ + wget -O $LIBSGX_DCAP_QL_DEV "$LIBSGX_DCAP_QL_DEV_URL" && \ + wget -O $LIBSGX_DCAP_DEFAULT_QPL "$LIBSGX_DCAP_DEFAULT_QPL_URL" && \ + wget -O $LIBSGX_DCAP_DEFAULT_QPL_DEV "$LIBSGX_DCAP_DEFAULT_QPL_DEV_URL" && \ + wget -O $LIBSGX_DCAP_DEFAULT_QPL_DEV_DBG "$LIBSGX_DCAP_DEFAULT_QPL_DEV_DBG_URL" + +RUN cd ~/sgx && \ + dpkg -i $LIBSGX_ENCLAVE_COMMON && \ + dpkg -i $LIBSGX_ENCLAVE_COMMON_DEV && \ + dpkg -i $LIBSGX_ENCLAVE_COMMON_DBGSYM && \ + dpkg -i $LIBSGX_DCAP_QL && \ + dpkg -i $LIBSGX_DCAP_QL_DEV && \ + dpkg -i $LIBSGX_DCAP_DEFAULT_QPL && \ + dpkg -i $LIBSGX_DCAP_DEFAULT_QPL_DEV && \ + dpkg -i $LIBSGX_DCAP_DEFAULT_QPL_DEV_DBG && \ + chmod u+x $SGX_LINUX_X64_SDK && \ + echo -e 'no\n/opt' | ./$SGX_LINUX_X64_SDK && \ + echo 'source /opt/sgxsdk/environment' >> ~/.bashrc + +RUN rm -rf ~/sgx + +# install Rust and its dependencies + +RUN apt-get update && apt-get install -q -y curl pkg-config + +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \ + . $HOME/.cargo/env && \ + rustup default $RUST_TOOLCHAIN && \ + rustup component add rust-src rls rust-analysis clippy rustfmt && \ + echo 'source $HOME/.cargo/env' >> ~/.bashrc && \ + cargo install xargo && \ + rm -rf /root/.cargo/registry && rm -rf /root/.cargo/git + +# install other dependencies for building + +RUN apt-get update && apt-get install -q -y \ + git \ + cmake \ + pypy \ + pypy-dev + +# install dependencies for testing and coverage + +RUN apt-get update && apt-get install -q -y \ + lsof \ + procps \ + lcov \ + llvm \ + curl + +# clean up apt caches + +RUN apt-get clean && \ + rm -fr /var/lib/apt/lists/* /tmp/* /var/tmp/* --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
