You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@teaclave.apache.org by ms...@apache.org on 2022/10/18 03:17:29 UTC

[incubator-teaclave] branch master updated (661d360f -> 599460fe)

This is an automated email from the ASF dual-hosted git repository.

mssun pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git


    from 661d360f Bump regex in /examples/rust/builtin_ordered_set_intersect (#651)
     new 0f24a06d Update the prebuilt mesapy-sgx source
     new 599460fe Improve CI

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/workflows/ci.yml                           | 107 ++---------------
 .github/workflows/codeql-analysis.yml              |   9 +-
 .../workflows/ubuntu1804-test.yml                  |  36 ++++--
 .github/workflows/ubuntu2004-test.yml              | 126 +++++++++++++++++++++
 CMakeLists.txt                                     |   6 +-
 cmake/scripts/{lcov_realpath.py => build_in_ci.sh} |  24 ++--
 cmake/scripts/test.sh                              |  10 +-
 7 files changed, 195 insertions(+), 123 deletions(-)
 copy cmake/scripts/cc_wrapper.sh => .github/workflows/ubuntu1804-test.yml (52%)
 mode change 100755 => 100644
 create mode 100644 .github/workflows/ubuntu2004-test.yml
 copy cmake/scripts/{lcov_realpath.py => build_in_ci.sh} (72%)
 mode change 100644 => 100755


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org


[incubator-teaclave] 01/02: Update the prebuilt mesapy-sgx source

Posted by ms...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git

commit 0f24a06dc25b2d131a74823b7ba0c6e3c08cca1c
Author: He Sun <su...@baidu.com>
AuthorDate: Wed Sep 21 10:32:54 2022 +0800

    Update the prebuilt mesapy-sgx source
    
    The old one is invalid.
---
 CMakeLists.txt | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index ff7b6574..eb10d558 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -38,7 +38,7 @@ set_strvar_from_env_or(SGX_SDK "/opt/sgxsdk" "Path of SGX SDK")
 set_strvar_from_env_or(RUSTFLAGS "" "Rust flags")
 set_strvar_from_env_or(TEACLAVE_CMAKE_DBG ""
                        "set to turn on debug message for cmake")
-set(MESAPY_VERSION 947fb3f598eede83ba0e33b5b5655b9a9597c2d8)
+set(MESAPY_VERSION v1.0.0-sgx)
 set(RUSTUP_TOOLCHAIN "nightly-2020-10-25")
 option(COV "Turn on/off coverage" OFF)
 option(OFFLINE "Turn on/off cargo offline" ON)
@@ -193,8 +193,8 @@ if(USE_PREBUILT_MESAPY)
 add_custom_command(
   OUTPUT ${MESAPY_OUTPUTS}
   COMMAND
-    wget -qN https://mesapy.org/release/${MESAPY_VERSION}-mesapy-sgx.tar.gz &&
-    tar xzf ${MESAPY_VERSION}-mesapy-sgx.tar.gz
+    wget -qN https://github.com/mesatee/mesapy/releases/download/${MESAPY_VERSION}/mesapy-${MESAPY_VERSION}.tar.gz &&
+    tar xzf mesapy-${MESAPY_VERSION}.tar.gz
   DEPENDS prep
   WORKING_DIRECTORY ${TEACLAVE_OUT_DIR})
 else()


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org


[incubator-teaclave] 02/02: Improve CI

Posted by ms...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

mssun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-teaclave.git

commit 599460fea1dc826fab382c77cb40fa82e28f010f
Author: He Sun <su...@baidu.com>
AuthorDate: Thu Sep 22 10:53:01 2022 +0800

    Improve CI
    
    1. Run tests in a fine-grained way for performance
    2. Move the tvm example to test.sh
    3. Only run tests in ubuntu20.04 docker image regularly
    4. Update codeql and runner image
---
 .github/workflows/ci.yml                           | 107 ++---------------
 .github/workflows/codeql-analysis.yml              |   9 +-
 .../{codeql-analysis.yml => ubuntu1804-test.yml}   |  61 ++++------
 .github/workflows/ubuntu2004-test.yml              | 126 +++++++++++++++++++++
 cmake/scripts/build_in_ci.sh                       |  33 ++++++
 cmake/scripts/test.sh                              |  10 +-
 6 files changed, 206 insertions(+), 140 deletions(-)

diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2ca637a7..d075cf55 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -16,7 +16,7 @@
 # under the License.
 
 name: CI
-on: [push, pull_request]
+on: [push, pull_request, workflow_dispatch]
 defaults:
   run:
     shell: bash
@@ -43,84 +43,8 @@ jobs:
           cargo build --manifest-path sdk/rust/Cargo.toml --target aarch64-apple-ios
           cargo lipo --manifest-path sdk/rust/Cargo.toml
           cd sdk/swift/TeaclaveClientSDK && xcodebuild -scheme TeaclaveClientSDK
-  sim-debug-ubuntu-1804:
-    runs-on: ubuntu-18.04
-    container: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.5
-    steps:
-      - uses: actions/checkout@v2
-      - name: Setting up $HOME
-        run: |
-          cp /root/.bashrc $HOME/.bashrc &&
-          ln -sf /root/.rustup ~/.rustup &&
-          ln -sf /root/.cargo ~/.cargo
-      - name: Preparing build system
-        run: |
-          . ~/.cargo/env &&
-          . /opt/sgxsdk/environment &&
-          mkdir -p build &&
-          cd build &&
-          cmake -DCMAKE_BUILD_TYPE=Debug -DSGX_SIM_MODE=ON -DTEST_MODE=ON ..
-      - name: Building
-        run: |
-          . /opt/sgxsdk/environment &&
-          . ~/.cargo/env &&
-          cd build &&
-          make VERBOSE=1
-      - name: Build TVM example
-        run: |
-          . ~/.cargo/env &&
-          cd ${GITHUB_WORKSPACE}/examples/python/wasm_tvm_mnist_payload &&
-          make
-      - name: Run tests and examples
-        run: |
-          export AS_SPID="00000000000000000000000000000000" &&
-          export AS_KEY="00000000000000000000000000000000" &&
-          export AS_ALGO="sgx_epid" &&
-          export AS_URL="https://api.trustedservices.intel.com:443" &&
-          . ~/.cargo/env &&
-          cd build &&
-          make run-tests
-
-  sim-debug-ubuntu-2004:
-    runs-on: ubuntu-20.04
-    container: teaclave/teaclave-build-ubuntu-2004-sgx-2.15.1:0.1.3
-    steps:
-      - uses: actions/checkout@v2
-      - name: Setting up $HOME
-        run: |
-          cp /root/.bashrc $HOME/.bashrc &&
-          ln -sf /root/.rustup ~/.rustup &&
-          ln -sf /root/.cargo ~/.cargo
-      - name: Preparing build system
-        run: |
-          . ~/.cargo/env &&
-          . /opt/sgxsdk/environment &&
-          mkdir -p build &&
-          cd build &&
-          cmake -DCMAKE_BUILD_TYPE=Debug -DSGX_SIM_MODE=ON -DTEST_MODE=ON ..
-      - name: Building
-        run: |
-          . /opt/sgxsdk/environment &&
-          . ~/.cargo/env &&
-          cd build &&
-          make VERBOSE=1
-      - name: Build TVM example
-        run: |
-          . ~/.cargo/env &&
-          cd ${GITHUB_WORKSPACE}/examples/python/wasm_tvm_mnist_payload &&
-          make
-      - name: Run tests and examples
-        run: |
-          export AS_SPID="00000000000000000000000000000000" &&
-          export AS_KEY="00000000000000000000000000000000" &&
-          export AS_ALGO="sgx_epid" &&
-          export AS_URL="https://api.trustedservices.intel.com:443" &&
-          . ~/.cargo/env &&
-          cd build &&
-          make run-tests
-
   format:
-    runs-on: ubuntu-18.04
+    runs-on: ubuntu-20.04
     container: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.5
     steps:
       - uses: actions/checkout@v2
@@ -129,19 +53,15 @@ jobs:
           cp /root/.bashrc $HOME/.bashrc &&
           ln -sf /root/.rustup ~/.rustup &&
           ln -sf /root/.cargo ~/.cargo
-      - name: Preparing build system
-        run: |
-          . ~/.cargo/env &&
-          . /opt/sgxsdk/environment &&
-          mkdir -p build &&
-          cd build &&
-          cmake -DRUSTFLAGS="-D warnings" -DTEST_MODE=ON ..
       - name: Checking code format
         run: |
           . /root/.cargo/env &&
-          cd build && make check
+          . /opt/sgxsdk/environment &&
+          mkdir -p build && cd build &&
+          cmake -DRUSTFLAGS="-D warnings" -DTEST_MODE=ON .. &&
+          make check
   lint:
-    runs-on: ubuntu-18.04
+    runs-on: ubuntu-20.04
     container: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.5
     steps:
       - uses: actions/checkout@v2
@@ -150,20 +70,15 @@ jobs:
           cp /root/.bashrc $HOME/.bashrc &&
           ln -sf /root/.rustup ~/.rustup &&
           ln -sf /root/.cargo ~/.cargo
-      - name: Preparing build system
-        run: |
-          . ~/.cargo/env &&
-          . /opt/sgxsdk/environment &&
-          mkdir -p build &&
-          cd build &&
-          cmake -DRUSTFLAGS="-D warnings" -DTEST_MODE=ON ..
       - name: Code linting with Clippy
         run: |
           . /opt/sgxsdk/environment &&
           . /root/.cargo/env &&
-          cd build && make CLP=1
+          mkdir -p build && cd build &&
+          cmake -DRUSTFLAGS="-D warnings" -DTEST_MODE=ON .. &&
+          CLP=1 make -j
   license:
-    runs-on: ubuntu-18.04
+    runs-on: ubuntu-20.04
     steps:
       - uses: actions/checkout@v2
       - name: Check License Header
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index b9c5ff02..b6723b0d 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -22,6 +22,7 @@ on:
   pull_request:
   schedule:
     - cron: '36 22 * * 3'
+  workflow_dispatch:
 
 jobs:
   analyze-cpp:
@@ -35,7 +36,7 @@ jobs:
         submodules: 'true'
 
     - name: Initialize CodeQL
-      uses: github/codeql-action/init@v1
+      uses: github/codeql-action/init@v2
       with:
         languages: cpp
 
@@ -43,7 +44,7 @@ jobs:
       run: cd examples/c && make
 
     - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v1
+      uses: github/codeql-action/analyze@v2
 
   analyze-python:
     name: Analyze python
@@ -54,9 +55,9 @@ jobs:
       uses: actions/checkout@v2
 
     - name: Initialize CodeQL
-      uses: github/codeql-action/init@v1
+      uses: github/codeql-action/init@v2
       with:
         languages: python
 
     - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v1
+      uses: github/codeql-action/analyze@v2
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/ubuntu1804-test.yml
similarity index 51%
copy from .github/workflows/codeql-analysis.yml
copy to .github/workflows/ubuntu1804-test.yml
index b9c5ff02..c691f31a 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/ubuntu1804-test.yml
@@ -15,48 +15,31 @@
 # specific language governing permissions and limitations
 # under the License.
 
-name: "Code scanning"
-
+name: Test-ubuntu-18.04
 on:
-  push:
-  pull_request:
   schedule:
     - cron: '36 22 * * 3'
+  workflow_dispatch:
 
-jobs:
-  analyze-cpp:
-    name: Analyze cpp
-    runs-on: ubuntu-latest
-
-    steps:
-    - name: Checkout repository
-      uses: actions/checkout@v2
-      with:
-        submodules: 'true'
-
-    - name: Initialize CodeQL
-      uses: github/codeql-action/init@v1
-      with:
-        languages: cpp
-
-    - name: Build C projects
-      run: cd examples/c && make
-
-    - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v1
-
-  analyze-python:
-    name: Analyze python
-    runs-on: ubuntu-latest
+defaults:
+  run:
+    shell: bash
 
+jobs:
+  sim-debug-all:
+    runs-on: ubuntu-20.04
+    container: teaclave/teaclave-build-ubuntu-1804-sgx-2.14:0.1.5
     steps:
-    - name: Checkout repository
-      uses: actions/checkout@v2
-
-    - name: Initialize CodeQL
-      uses: github/codeql-action/init@v1
-      with:
-        languages: python
-
-    - name: Perform CodeQL Analysis
-      uses: github/codeql-action/analyze@v1
+      - uses: actions/checkout@v2
+      - name: Build
+        run: |
+          . cmake/scripts/build_in_ci.sh
+      - name: Run tests and examples
+        run: |
+          export AS_SPID="00000000000000000000000000000000" &&
+          export AS_KEY="00000000000000000000000000000000" &&
+          export AS_ALGO="sgx_epid" &&
+          export AS_URL="https://api.trustedservices.intel.com:443" &&
+          . ~/.cargo/env &&
+          cd build &&
+          make run-tests
diff --git a/.github/workflows/ubuntu2004-test.yml b/.github/workflows/ubuntu2004-test.yml
new file mode 100644
index 00000000..22780fb7
--- /dev/null
+++ b/.github/workflows/ubuntu2004-test.yml
@@ -0,0 +1,126 @@
+# 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.
+
+name: Test-ubuntu-20.04
+on: [push, pull_request, workflow_dispatch]
+defaults:
+  run:
+    shell: bash
+
+jobs:
+  sim-debug-unit:
+    runs-on: ubuntu-20.04
+    container: teaclave/teaclave-build-ubuntu-2004-sgx-2.15.1:0.1.3
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build
+        run: |
+          . cmake/scripts/build_in_ci.sh
+      - name: Run unit test
+        run: |
+          export AS_SPID="00000000000000000000000000000000" &&
+          export AS_KEY="00000000000000000000000000000000" &&
+          export AS_ALGO="sgx_epid" &&
+          export AS_URL="https://api.trustedservices.intel.com:443" &&
+          . ~/.cargo/env &&
+          cd build &&
+          make run-unit-tests
+  sim-debug-integration:
+    runs-on: ubuntu-20.04
+    container: teaclave/teaclave-build-ubuntu-2004-sgx-2.15.1:0.1.3
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build
+        run: |
+          . cmake/scripts/build_in_ci.sh
+      - name: Run integration test
+        run: |
+          export AS_SPID="00000000000000000000000000000000" &&
+          export AS_KEY="00000000000000000000000000000000" &&
+          export AS_ALGO="sgx_epid" &&
+          export AS_URL="https://api.trustedservices.intel.com:443" &&
+          . ~/.cargo/env &&
+          cd build &&
+          make run-integration-tests
+  sim-debug-functional:
+    runs-on: ubuntu-20.04
+    container: teaclave/teaclave-build-ubuntu-2004-sgx-2.15.1:0.1.3
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build
+        run: |
+          . cmake/scripts/build_in_ci.sh
+      - name: Run functional tests
+        run: |
+          export AS_SPID="00000000000000000000000000000000" &&
+          export AS_KEY="00000000000000000000000000000000" &&
+          export AS_ALGO="sgx_epid" &&
+          export AS_URL="https://api.trustedservices.intel.com:443" &&
+          . ~/.cargo/env &&
+          cd build &&
+          make run-functional-tests
+  sim-debug-sdk:
+    runs-on: ubuntu-20.04
+    container: teaclave/teaclave-build-ubuntu-2004-sgx-2.15.1:0.1.3
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build
+        run: |
+          . cmake/scripts/build_in_ci.sh
+      - name: Run sdk test
+        run: |
+          export AS_SPID="00000000000000000000000000000000" &&
+          export AS_KEY="00000000000000000000000000000000" &&
+          export AS_ALGO="sgx_epid" &&
+          export AS_URL="https://api.trustedservices.intel.com:443" &&
+          . ~/.cargo/env &&
+          cd build &&
+          make run-sdk-tests
+  sim-debug-example:
+    runs-on: ubuntu-20.04
+    container: teaclave/teaclave-build-ubuntu-2004-sgx-2.15.1:0.1.3
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build
+        run: |
+          . cmake/scripts/build_in_ci.sh
+      - name: Run examples
+        run: |
+          export AS_SPID="00000000000000000000000000000000" &&
+          export AS_KEY="00000000000000000000000000000000" &&
+          export AS_ALGO="sgx_epid" &&
+          export AS_URL="https://api.trustedservices.intel.com:443" &&
+          . ~/.cargo/env &&
+          cd build &&
+          make run-examples
+  sim-debug-cancel:
+    runs-on: ubuntu-20.04
+    container: teaclave/teaclave-build-ubuntu-2004-sgx-2.15.1:0.1.3
+    steps:
+      - uses: actions/checkout@v2
+      - name: Build
+        run: |
+          . cmake/scripts/build_in_ci.sh
+      - name: Run cancel test
+        run: |
+          export AS_SPID="00000000000000000000000000000000" &&
+          export AS_KEY="00000000000000000000000000000000" &&
+          export AS_ALGO="sgx_epid" &&
+          export AS_URL="https://api.trustedservices.intel.com:443" &&
+          . ~/.cargo/env &&
+          cd build &&
+          make run-cancel-test
diff --git a/cmake/scripts/build_in_ci.sh b/cmake/scripts/build_in_ci.sh
new file mode 100755
index 00000000..bba67e07
--- /dev/null
+++ b/cmake/scripts/build_in_ci.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+
+# 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.
+
+set -e
+
+# Setting up $HOME
+cp /root/.bashrc $HOME/.bashrc
+ln -sf /root/.rustup ~/.rustup
+ln -sf /root/.cargo ~/.cargo
+
+# Build
+. /opt/sgxsdk/environment &&
+. ~/.cargo/env &&
+mkdir -p build &&
+cd build &&
+cmake -DCMAKE_BUILD_TYPE=Debug -DSGX_SIM_MODE=ON -DTEST_MODE=ON .. &&
+VERBOSE=1 make -j
diff --git a/cmake/scripts/test.sh b/cmake/scripts/test.sh
index a8a57472..39c197a2 100755
--- a/cmake/scripts/test.sh
+++ b/cmake/scripts/test.sh
@@ -43,6 +43,7 @@ echo_title() {
 
 start_storage_server() {
   python3 ${TEACLAVE_PROJECT_ROOT}/tests/scripts/simple_http_server.py 6789 &
+  wait_port 6789
 }
 
 run_unit_tests() {
@@ -235,6 +236,13 @@ run_examples() {
   make
   popd
 
+  rust_toolchain=${RUSTUP_TOOLCHAIN}
+  unset RUSTUP_TOOLCHAIN
+  pushd ${TEACLAVE_PROJECT_ROOT}/examples/python/wasm_tvm_mnist_payload
+  make
+  popd
+  export RUSTUP_TOOLCHAIN=${rust_toolchain}
+
   pushd ${TEACLAVE_PROJECT_ROOT}/examples/python
   export PYTHONPATH=${TEACLAVE_PROJECT_ROOT}/sdk/python
   python3 builtin_echo.py
@@ -266,7 +274,7 @@ run_examples() {
   RUSTFLAGS=${RUSTFLAGS} cargo run
   popd
   popd
-  
+
   # kill all background services
   cleanup
 }


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@teaclave.apache.org
For additional commands, e-mail: commits-help@teaclave.apache.org