From d1aa7dc223cedcd99fac9f83d1cad7aabcea62fc Mon Sep 17 00:00:00 2001 From: Kai <7630809+Kailai-Wang@users.noreply.github.com> Date: Fri, 6 Sep 2024 10:07:13 +0200 Subject: [PATCH] Use litentry runtime in CI-test (#3046) * init config * new cmd * try to update ci * change network mode * use host * try to fix ci * try to fix ci * update ci * try to fix ci * fix * fix ci * remove needed files --------- Co-authored-by: Faisal Ahmed <42486737+felixfaisal@users.noreply.github.com> --- .github/workflows/ci.yml | 6 +- bitacross-worker/scripts/litentry/cleanup.sh | 12 -- .../scripts/litentry/stop_parachain.sh | 6 - local-setup/launch.py | 2 +- tee-worker/scripts/launch.sh | 90 ------------ tee-worker/scripts/launch_local_worker.sh | 138 ------------------ tee-worker/scripts/litentry/cleanup.sh | 12 -- tee-worker/scripts/litentry/stop_parachain.sh | 6 - 8 files changed, 4 insertions(+), 268 deletions(-) delete mode 100755 bitacross-worker/scripts/litentry/cleanup.sh delete mode 100755 bitacross-worker/scripts/litentry/stop_parachain.sh delete mode 100755 tee-worker/scripts/launch.sh delete mode 100755 tee-worker/scripts/launch_local_worker.sh delete mode 100755 tee-worker/scripts/litentry/cleanup.sh delete mode 100755 tee-worker/scripts/litentry/stop_parachain.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0785ec44c2..233467acce 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -778,7 +778,7 @@ jobs: - name: Launch parachain network run: | - make launch-network-rococo + make launch-network-litentry - name: Integration single worker test ${{ matrix.test_name }} if: needs.set-condition.outputs.run_tee_test == 'true' @@ -851,7 +851,7 @@ jobs: - name: Launch parachain network run: | - make launch-network-rococo + make launch-network-litentry - name: Integration multi worker test ${{ matrix.test_name }} if: needs.set-condition.outputs.run_tee_test == 'true' @@ -917,7 +917,7 @@ jobs: - name: Launch parachain network run: | - make launch-network-rococo + make launch-network-litentry - name: Integration bitacross worker test ${{ matrix.test_name }} if: needs.set-condition.outputs.run_bitacross_test == 'true' diff --git a/bitacross-worker/scripts/litentry/cleanup.sh b/bitacross-worker/scripts/litentry/cleanup.sh deleted file mode 100755 index c1271e4eb9..0000000000 --- a/bitacross-worker/scripts/litentry/cleanup.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -eo pipefail - -pid=$(ps aux | grep '[l]ocal-setup/launch' | awk '{print $2}') - -if [ ! -z "$pid" ]; then - echo "killing $pid" - kill -9 "$pid" -fi - -killall litentry-worker 2>/dev/null || true diff --git a/bitacross-worker/scripts/litentry/stop_parachain.sh b/bitacross-worker/scripts/litentry/stop_parachain.sh deleted file mode 100755 index 759083e8e5..0000000000 --- a/bitacross-worker/scripts/litentry/stop_parachain.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -set -euo pipefail - -ROOTDIR=$(git rev-parse --show-toplevel) -cd "$ROOTDIR" -make clean-docker-rococo || true diff --git a/local-setup/launch.py b/local-setup/launch.py index 2c413d8d76..99e01d22b0 100755 --- a/local-setup/launch.py +++ b/local-setup/launch.py @@ -240,7 +240,7 @@ def main(processes, worker, workers_number, parachain_type, log_config_path, off add_collator_ports() os.environ['LITENTRY_PARACHAIN_DIR'] = parachain_dir setup_environment(offset, parachain_dir, worker_dir) - run(["./scripts/launch-network.sh", "rococo"], check=True) + run(["./scripts/launch-network.sh", "litentry"], check=True) elif parachain_type == "remote": setup_environment(offset, "", worker_dir) print("Litentry parachain should be started remotely") diff --git a/tee-worker/scripts/launch.sh b/tee-worker/scripts/launch.sh deleted file mode 100755 index e9d6d5c3be..0000000000 --- a/tee-worker/scripts/launch.sh +++ /dev/null @@ -1,90 +0,0 @@ -#!/usr/bin/env bash - -set -euo pipefail - -PARACHAIN="rococo" -ROOTDIR=$(git rev-parse --show-toplevel) -ROOTDIR="${ROOTDIR}/tee-worker" - -function usage() { - echo "Usage: $0 " - echo "" - echo " All mode apply to ${PARACHAIN} context." - echo " dev: start worker(s) together with local ${PARACHAIN} for development" - echo " staging: start worker(s) sync with staging ${PARACHAIN} on tee-staging server" - echo " prod: start worker(s) sync with production ${PARACHAIN} on polkadot.js" - echo " mock: start worker(s) together with local ${PARACHAIN} for development" -} - -function start_local_parachain() { - cd ${ROOTDIR} - echo "------------------------------------------------------------" - echo "Start local parachain: ${PARACHAIN} ..." - # TODO: only `rococo` is supported for the moment. And it's hard-coded inside `start_parachain.sh` - ./../local-setup/start_parachain.sh - if [ $? -ne 0 ]; then - exit 1 - fi -} - -function start_worker_for_dev() { - start_local_parachain - cd ${ROOTDIR} - worker_num=2 - echo "------------------------------------------------------------" - echo "Start ${worker_num} workers with dev ${PARACHAIN} ..." - ./scripts/launch_local_worker.sh -c true -n ${worker_num} -m "dev" -} - -function start_worker_for_staging() { - cd ${ROOTDIR} - worker_num=2 - # staging_parachain_url - url="wss://tee-staging.litentry.io" - # staging_parachain_port - port=443 - echo "------------------------------------------------------------" - echo "Start ${worker_num} workers with staging ${PARACHAIN} ..." - ./scripts/launch_local_worker.sh -c true -n ${worker_num} -u ${url} -p ${port} -m "staging" -} - -function start_worker_for_prod() { - cd ${ROOTDIR} - worker_num=2 - # production_parachain_url - url="wss://rpc.${PARACHAIN}-parachain-sg.litentry.io" - # production_parachain_port - port=443 - echo "------------------------------------------------------------" - echo "Start ${worker_num} workers with production ${PARACHAIN} ..." - ./scripts/launch_local_worker.sh -c true -n ${worker_num} -u ${url} -p ${port} -m "prod" -} - -function start_worker_for_mock() { - start_local_parachain - cd ${ROOTDIR} - worker_num=2 - echo "------------------------------------------------------------" - echo "Start ${worker_num} workers with local ${PARACHAIN} ..." - ./scripts/launch_local_worker.sh -c true -n ${worker_num} -m "mock" -} - - -[ $# -ne 1 ] && (usage; exit 1) -MODE=$1 - -if [ "$MODE" = "dev" ] || [ "$MODE" = "staging" ] || [ "$MODE" = "prod" ] || [ "$MODE" = "mock" ]; then - echo "Launch in $MODE mode" - start_worker_for_$MODE -else - echo "Unknow mode: $MODE" - usage; exit 1 -fi - -echo "Done" - - - - - - diff --git a/tee-worker/scripts/launch_local_worker.sh b/tee-worker/scripts/launch_local_worker.sh deleted file mode 100755 index 45298470d0..0000000000 --- a/tee-worker/scripts/launch_local_worker.sh +++ /dev/null @@ -1,138 +0,0 @@ -#!/usr/bin/env bash - -# TODO: Sanity check of parameters -while getopts ":c:n:u:p:m:" opt; do - case $opt in - c) - cleanup_flag=$OPTARG - ;; - n) - worker_num=$OPTARG - ;; - u) - node_url=$OPTARG - ;; - p) - node_port=$OPTARG - ;; - m) - mode=$OPTARG - ;; - esac -done - -CLEANUP=${cleanup_flag:-true} -WORKER_NUM=${worker_num:-1} - -NODE_URL=${node_url:-"ws://127.0.0.1"} # "ws://host.docker.internal" -NODE_PORT=${node_port:-"9944"} # "9946" - -# Fixed values: -WORKER_ENDPOINT="localhost" -MU_RA_PORT="3443" -UNTRUSTED_HTTP_PORT="4545" -TRUSTED_WORKER_PORT="2000" -UNTRUSTED_WORKER_PORT="3000" - -F_CLEAN="" -FSUBCMD_DEV="" - -WAIT_INTERVAL_SECONDS=10 -WAIT_ROUNDS=20 - -if [ "${CLEANUP}" = 'true' ]; then - F_CLEAN="--clean-reset" - FSUBCMD_DEV="--dev" -fi - -function wait_worker_is_initialized() -{ - for index in $(seq 1 $WAIT_ROUNDS); do - state=$(curl -s http://localhost:$1/is_initialized) - if [ "$state" == "I am initialized." ]; then - echo "Initialization successful: $state" - return - else - echo "sleep $WAIT_INTERVAL_SECONDS" - sleep $WAIT_INTERVAL_SECONDS - fi - done - echo - echo "Worker initialization failed" - exit 1 -} - -echo "Number of WORKER_NUM: ${WORKER_NUM}" -############################################################################## -### Start execution -############################################################################## - -ROOTDIR=$(git rev-parse --show-toplevel) -ROOTDIR="${ROOTDIR}/tee-worker" -RUST_LOG="info,litentry_worker=debug,ws=warn,sp_io=error,substrate_api_client=warn,\ -itc_parentchain_light_client=info,\ -jsonrpsee_ws_client=warn,jsonrpsee_ws_server=warn,enclave_runtime=debug,ita_stf=debug,\ -its_rpc_handler=warn,itc_rpc_client=warn,its_consensus_common=debug,its_state=warn,\ -its_consensus_aura=warn,aura*=warn,its_consensus_slots=warn,\ -itp_attestation_handler=debug,http_req=debug,lc_mock_server=warn,itc_rest_client=debug,\ -lc_credentials=debug,lc_identity_verification=debug,lc_stf_task_receiver=debug,lc_stf_task_sender=debug,\ -lc_data_providers=debug,itp_top_pool=debug,itc_parentchain_indirect_calls_executor=debug" - -# Create the log directory, in case not existed. -mkdir -p ${ROOTDIR}/log - -for ((i = 0; i < ${WORKER_NUM}; i++)); do - worker_name="worker${i}" - echo "" - echo "--------------------setup worker(${worker_name})----------------------------------------" - - if ((i == 0)); then - MOCK_SERVER="--enable-mock-server" - fi - - if [ "${CLEANUP}" = 'true' ]; then - echo "clear dir: ${ROOTDIR}/tmp/${worker_name}" - rm -rf "${ROOTDIR}"/tmp/"${worker_name}" - fi - mkdir -p "${ROOTDIR}"/tmp/"${worker_name}" - for Item in 'enclave.signed.so' 'key.txt' 'spid.txt' 'litentry-worker' 'litentry-cli'; do - cp "${ROOTDIR}/bin/${Item}" "${ROOTDIR}"/tmp/"${worker_name}" - done - - cd "${ROOTDIR}"/tmp/${worker_name} || exit - echo "enter ${ROOTDIR}/tmp/${worker_name}" - - mu_ra_port=$((${MU_RA_PORT} + i)) - untrusted_http_port=$((${UNTRUSTED_HTTP_PORT} + i)) - trusted_worker_port=$((${TRUSTED_WORKER_PORT} + i)) - untrusted_worker_port=$((${UNTRUSTED_WORKER_PORT} + i)) - echo "${worker_name} ports: - mu-ra-port: ${mu_ra_port} - untrusted-http-port: ${untrusted_http_port} - trusted-worker-port: ${trusted_worker_port} - untrusted-worker-port: ${untrusted_worker_port} - " - - launch_command="RUST_LOG=${RUST_LOG} ./litentry-worker ${F_CLEAN} --ws-external \ ---mu-ra-external-address ${WORKER_ENDPOINT} \ ---mu-ra-port ${mu_ra_port} \ ---node-port ${NODE_PORT} \ ---node-url ${NODE_URL} \ ---trusted-external-address wss://${WORKER_ENDPOINT} \ ---trusted-worker-port ${trusted_worker_port} \ ---untrusted-external-address ws://${WORKER_ENDPOINT} \ ---untrusted-http-port ${untrusted_http_port} \ ---untrusted-worker-port ${untrusted_worker_port} \ -run --skip-ra ${FSUBCMD_DEV}" - - echo "${worker_name} command: ${launch_command}" - eval "${launch_command}" > "${ROOTDIR}"/log/${worker_name}.log 2>&1 & - echo "${worker_name}(litentry-worker) started successfully. log: ${ROOTDIR}/log/${worker_name}.log" - - if ((${WORKER_NUM} > 0)); then - wait_worker_is_initialized ${untrusted_http_port} - fi -done - -echo "" -echo "--- Setup work(s) done ---" diff --git a/tee-worker/scripts/litentry/cleanup.sh b/tee-worker/scripts/litentry/cleanup.sh deleted file mode 100755 index c1271e4eb9..0000000000 --- a/tee-worker/scripts/litentry/cleanup.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -eo pipefail - -pid=$(ps aux | grep '[l]ocal-setup/launch' | awk '{print $2}') - -if [ ! -z "$pid" ]; then - echo "killing $pid" - kill -9 "$pid" -fi - -killall litentry-worker 2>/dev/null || true diff --git a/tee-worker/scripts/litentry/stop_parachain.sh b/tee-worker/scripts/litentry/stop_parachain.sh deleted file mode 100755 index 759083e8e5..0000000000 --- a/tee-worker/scripts/litentry/stop_parachain.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/bash -set -euo pipefail - -ROOTDIR=$(git rev-parse --show-toplevel) -cd "$ROOTDIR" -make clean-docker-rococo || true