From 2519376356117f859b452429942aaf687cb5096a Mon Sep 17 00:00:00 2001 From: nabarun Date: Fri, 14 Apr 2023 11:28:05 +0530 Subject: [PATCH] Add watcher-ts image for running peer tests --- .../compose/docker-compose-watcher-mobymask-v2.yml | 14 ++++++++++---- ...atcher-ts-shell.sh => start-watcher-ts-peer.sh} | 7 ------- .../container-build/cerc-watcher-ts/Dockerfile | 10 ++++++++++ app/data/container-build/cerc-watcher-ts/build.sh | 7 +++++++ app/data/container-image-list.txt | 1 + app/data/pod-list.txt | 1 + app/data/stacks/mobymask-v2/README.md | 4 ++-- app/data/stacks/mobymask-v2/stack.yml | 1 + 8 files changed, 32 insertions(+), 13 deletions(-) rename app/data/config/watcher-mobymask-v2/{start-watcher-ts-shell.sh => start-watcher-ts-peer.sh} (85%) mode change 100644 => 100755 create mode 100644 app/data/container-build/cerc-watcher-ts/Dockerfile create mode 100755 app/data/container-build/cerc-watcher-ts/build.sh diff --git a/app/data/compose/docker-compose-watcher-mobymask-v2.yml b/app/data/compose/docker-compose-watcher-mobymask-v2.yml index c85953c5..d86f1a51 100644 --- a/app/data/compose/docker-compose-watcher-mobymask-v2.yml +++ b/app/data/compose/docker-compose-watcher-mobymask-v2.yml @@ -54,16 +54,22 @@ services: extra_hosts: - "host.docker.internal:host-gateway" + # Creates peer-id files if they don't exist + # Container keeps running so that peer tests can be run watcher-ts-peer: - # TODO: Use watcher-ts local container or publish watcher-ts image - image: ghcr.io/cerc-io/watcher-ts:v0.2.37 + image: cerc/watcher-ts:local restart: on-failure environment: CERC_SCRIPT_DEBUG: ${CERC_SCRIPT_DEBUG} working_dir: /app/packages/peer - command: ["sh", "start-watcher-ts-shell.sh"] + command: + - sh + - -c + - | + ./start-watcher-ts-peer.sh && \ + tail -f /dev/null volumes: - - ../config/watcher-mobymask-v2/start-watcher-ts-shell.sh:/app/packages/peer/start-watcher-ts-shell.sh + - ../config/watcher-mobymask-v2/start-watcher-ts-peer.sh:/app/packages/peer/start-watcher-ts-peer.sh - peers_ids:/app/packages/peer healthcheck: test: ["CMD", "ls", /app/packages/peer/peer-id.json] diff --git a/app/data/config/watcher-mobymask-v2/start-watcher-ts-shell.sh b/app/data/config/watcher-mobymask-v2/start-watcher-ts-peer.sh old mode 100644 new mode 100755 similarity index 85% rename from app/data/config/watcher-mobymask-v2/start-watcher-ts-shell.sh rename to app/data/config/watcher-mobymask-v2/start-watcher-ts-peer.sh index 7d823ef7..b288875b --- a/app/data/config/watcher-mobymask-v2/start-watcher-ts-shell.sh +++ b/app/data/config/watcher-mobymask-v2/start-watcher-ts-peer.sh @@ -4,10 +4,6 @@ if [ -n "$CERC_SCRIPT_DEBUG" ]; then set -x fi -# TODO: Build in Dockerfile -apk --update --no-cache add jq -yarn build - # Check for peer ids in ./peers folder, create if not present if [ -f ./relay-id.json ]; then echo "Using peer id for relay node from the mounted volume" @@ -27,6 +23,3 @@ CERC_RELAY_MULTIADDR="/dns4/mobymask-watcher-server/tcp/9090/ws/p2p/$(jq -r '.id # Write the relay node's multiaddr to /app/packages/peer/.env for running tests echo "RELAY=\"$CERC_RELAY_MULTIADDR\"" > ./.env - -# TODO: Discuss leave shell running -tail -f .env diff --git a/app/data/container-build/cerc-watcher-ts/Dockerfile b/app/data/container-build/cerc-watcher-ts/Dockerfile new file mode 100644 index 00000000..75ba2efa --- /dev/null +++ b/app/data/container-build/cerc-watcher-ts/Dockerfile @@ -0,0 +1,10 @@ +FROM node:16.17.1-alpine3.16 + +RUN apk --update --no-cache add git python3 alpine-sdk jq + +WORKDIR /app + +COPY . . + +RUN echo "Building watcher-ts" && \ + yarn && yarn build diff --git a/app/data/container-build/cerc-watcher-ts/build.sh b/app/data/container-build/cerc-watcher-ts/build.sh new file mode 100755 index 00000000..e180ec0e --- /dev/null +++ b/app/data/container-build/cerc-watcher-ts/build.sh @@ -0,0 +1,7 @@ +#!/usr/bin/env bash +# Build cerc/watcher-erc20 + +# See: https://stackoverflow.com/a/246128/1701505 +SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) + +docker build -t cerc/watcher-ts:local -f ${SCRIPT_DIR}/Dockerfile ${CERC_REPO_BASE_DIR}/watcher-ts diff --git a/app/data/container-image-list.txt b/app/data/container-image-list.txt index 150d81ae..0635c4c8 100644 --- a/app/data/container-image-list.txt +++ b/app/data/container-image-list.txt @@ -14,6 +14,7 @@ cerc/laconic-registry-cli cerc/laconic-console-host cerc/fixturenet-eth-geth cerc/fixturenet-eth-lighthouse +cerc/watcher-ts cerc/watcher-mobymask cerc/watcher-erc20 cerc/watcher-erc721 diff --git a/app/data/pod-list.txt b/app/data/pod-list.txt index f24c9ed0..ef42ad9e 100644 --- a/app/data/pod-list.txt +++ b/app/data/pod-list.txt @@ -10,6 +10,7 @@ laconicd fixturenet-laconicd fixturenet-eth fixturenet-eth-metrics +watcher-ts watcher-mobymask watcher-erc20 watcher-erc721 diff --git a/app/data/stacks/mobymask-v2/README.md b/app/data/stacks/mobymask-v2/README.md index aaa4ac7f..32a58b08 100644 --- a/app/data/stacks/mobymask-v2/README.md +++ b/app/data/stacks/mobymask-v2/README.md @@ -73,13 +73,13 @@ Deploy the stack: Find the watcher container's id and export it for later use: ```bash -export CONTAINER_ID=$(docker ps -q --filter "name=mobymask-watcher-server") +export CONTAINER_ID=$(docker ps -q --filter "name=watcher-ts-peer") ``` Run the peer tests: ```bash -docker exec -w /app/packages/peer $CONTAINER_ID yarn test +docker exec $CONTAINER_ID yarn test ``` ## Web Apps diff --git a/app/data/stacks/mobymask-v2/stack.yml b/app/data/stacks/mobymask-v2/stack.yml index 248351b1..3ef84499 100644 --- a/app/data/stacks/mobymask-v2/stack.yml +++ b/app/data/stacks/mobymask-v2/stack.yml @@ -19,6 +19,7 @@ containers: - cerc/optimism-l2geth - cerc/optimism-op-batcher - cerc/optimism-op-node + - cerc/watcher-ts - cerc/watcher-mobymask-v2 - cerc/react-peer - cerc/mobymask-ui