From 0ba6c9e526d393a1bb3b4dfd4210bba9b5348987 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Tue, 18 Feb 2025 16:59:18 +0300 Subject: [PATCH 1/5] fix: broken dep version --- yarn.lock | 17 +++++------------ 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/yarn.lock b/yarn.lock index 8c04c830a7..9502788cfa 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4260,12 +4260,12 @@ undici "^6.11.1" "@openzeppelin/upgrades-core@^1.32.2", "@openzeppelin/upgrades-core@^1.41.0": - version "1.42.1" - resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.42.1.tgz#a2784e8d9c09f4a79b7e5cbb11933062ad709835" - integrity sha512-8qnz2XfQrco8R8u9NjV+KiSLrVn7DnWFd+3BuhTUjhVy0bzCSu2SMKCVpZLtXbxf4f2dpz8jYPQYRa6s23PhLA== + version "1.41.0" + resolved "https://registry.yarnpkg.com/@openzeppelin/upgrades-core/-/upgrades-core-1.41.0.tgz#3a5e044cf53acd50c392f3297e7c37e4ff8f8355" + integrity sha512-+oryinqZnxkiZvg7bWqWX4Ki/CNwVUZEqC6Elpi5PQoahpL3/6Sq9xjIozD5AiI2O61h8JHQ+A//5NtczyavJw== dependencies: "@nomicfoundation/slang" "^0.18.3" - cbor "^10.0.0" + cbor "^9.0.0" chalk "^4.1.0" compare-versions "^6.0.0" debug "^4.1.1" @@ -9041,13 +9041,6 @@ caseless@^0.12.0, caseless@~0.12.0: resolved "https://registry.yarnpkg.com/caseless/-/caseless-0.12.0.tgz#1b681c21ff84033c826543090689420d187151dc" integrity sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw== -cbor@^10.0.0: - version "10.0.3" - resolved "https://registry.yarnpkg.com/cbor/-/cbor-10.0.3.tgz#202d79cd696f408700af51b0c9771577048a860e" - integrity sha512-72Jnj81xMsqepqdcSdf2+fflz/UDsThOHy5hj2MW5F5xzHL8Oa0KQ6I6V9CwVUPxg5pf+W9xp6W2KilaRXWWtw== - dependencies: - nofilter "^3.0.2" - cbor@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/cbor/-/cbor-8.1.0.tgz#cfc56437e770b73417a2ecbfc9caf6b771af60d5" @@ -15913,7 +15906,7 @@ node-stdlib-browser@^1.2.0: util "^0.12.4" vm-browserify "^1.0.1" -nofilter@^3.0.2, nofilter@^3.1.0: +nofilter@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/nofilter/-/nofilter-3.1.0.tgz#c757ba68801d41ff930ba2ec55bab52ca184aa66" integrity sha512-l2NNj07e9afPnhAhvgVrCD/oy2Ai1yfLpuo3EpiO1jFTsB4sFz6oIfAfSZyQzVpkZQ9xS8ZS5g1jCBgq4Hwo0g== From 005f78a48796b5020898226350250fec41b02402 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Tue, 18 Feb 2025 17:12:34 +0300 Subject: [PATCH 2/5] refactor: build blockchain node using pulled repo --- .../recording-oracle/docker-compose.test.yml | 4 ++-- .../dockerfiles/blockchain-node.Dockerfile | 19 ++++++++++++------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/packages/examples/cvat/recording-oracle/docker-compose.test.yml b/packages/examples/cvat/recording-oracle/docker-compose.test.yml index af02533a32..32b5ede6c3 100644 --- a/packages/examples/cvat/recording-oracle/docker-compose.test.yml +++ b/packages/examples/cvat/recording-oracle/docker-compose.test.yml @@ -15,8 +15,8 @@ services: blockchain-node: build: - context: ./ - dockerfile: dockerfiles/blockchain-node.Dockerfile + context: ../../../../ + dockerfile: packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile healthcheck: # Using a magic nubmer of 23 here because this is a block number when blockchain-node container is ready to use test: if [ $(( $(wget -q --post-data='{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' -O- http://blockchain-node:8545 | grep -o '"result":"[^"]*"' | awk -F'"' '{print $4}' ) )) -ge 23 ]; then exit 0; else exit 1; fi diff --git a/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile b/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile index ab4b66d200..055b7f1a1e 100644 --- a/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile +++ b/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile @@ -1,12 +1,17 @@ -FROM node:18-alpine +# TODO: make this shared and part of local setup +FROM node:18-slim -RUN apk add git +WORKDIR /usr/src/app -RUN git clone https://github.com/humanprotocol/human-protocol.git - -WORKDIR /human-protocol +# Copy expected yarn dist +COPY .yarn ./.yarn +COPY .yarnrc ./ +# Copy files for deps installation +COPY package.json yarn.lock ./ +COPY tsconfig.json ./ +COPY packages/core ./packages/core +RUN yarn workspace @human-protocol/core install --ignore-scripts EXPOSE 8545 -RUN yarn workspace @human-protocol/core install --ignore-scripts -CMD yarn workspace @human-protocol/core local \ No newline at end of file +CMD yarn workspace @human-protocol/core local From 92271bc76708c2586732e2e39e7603bbace20952 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Tue, 18 Feb 2025 17:59:19 +0300 Subject: [PATCH 3/5] fix: build core before running node --- .../recording-oracle/dockerfiles/blockchain-node.Dockerfile | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile b/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile index 055b7f1a1e..f55d60dcb9 100644 --- a/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile +++ b/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile @@ -12,6 +12,7 @@ COPY package.json yarn.lock ./ COPY tsconfig.json ./ COPY packages/core ./packages/core RUN yarn workspace @human-protocol/core install --ignore-scripts -EXPOSE 8545 +RUN yarn workspace @human-protocol/core build +EXPOSE 8545 CMD yarn workspace @human-protocol/core local From 451f59a30e2c2e8d69980ee18c9ca34bd102afe0 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Tue, 18 Feb 2025 19:08:25 +0300 Subject: [PATCH 4/5] fix: blockchain node healthcheck --- .../cvat/recording-oracle/docker-compose.test.yml | 10 ++-------- .../dockerfiles/blockchain-node.Dockerfile | 3 +++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/packages/examples/cvat/recording-oracle/docker-compose.test.yml b/packages/examples/cvat/recording-oracle/docker-compose.test.yml index 32b5ede6c3..1afd482cee 100644 --- a/packages/examples/cvat/recording-oracle/docker-compose.test.yml +++ b/packages/examples/cvat/recording-oracle/docker-compose.test.yml @@ -7,8 +7,6 @@ services: POSTGRES_USER: 'test' POSTGRES_DB: 'recording_oracle_test' PGDATA: '/var/lib/postgresql/data/pgdata' - ports: - - 5434:5432 command: ["postgres", "-c", "log_statement=all"] networks: - test-network @@ -19,19 +17,16 @@ services: dockerfile: packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile healthcheck: # Using a magic nubmer of 23 here because this is a block number when blockchain-node container is ready to use - test: if [ $(( $(wget -q --post-data='{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' -O- http://blockchain-node:8545 | grep -o '"result":"[^"]*"' | awk -F'"' '{print $4}' ) )) -ge 23 ]; then exit 0; else exit 1; fi + test: if [ $(( $(wget -q --post-data='{"jsonrpc":"2.0","method":"eth_blockNumber","params":[],"id":1}' -O- http://localhost:8545 | grep -o '"result":"[^"]*"' | awk -F'"' '{print $4}' ) )) -ge 23 ]; then exit 0; else exit 1; fi interval: 15s timeout: 5s - retries: 15 + retries: 5 networks: - test-network minio: container_name: minio image: minio/minio:RELEASE.2022-05-26T05-48-41Z - ports: - - 9001:9001 - - 9000:9000 environment: MINIO_ROOT_USER: dev MINIO_ROOT_PASSWORD: devdevdev @@ -64,7 +59,6 @@ services: networks: - test-network - test: build: context: ./ diff --git a/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile b/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile index f55d60dcb9..c0d872a134 100644 --- a/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile +++ b/packages/examples/cvat/recording-oracle/dockerfiles/blockchain-node.Dockerfile @@ -1,6 +1,9 @@ # TODO: make this shared and part of local setup FROM node:18-slim +# wget is needed for healthcheck +RUN apt-get update && apt-get install -y wget + WORKDIR /usr/src/app # Copy expected yarn dist From 792ea3dd166afd0ee4122ac046e763481e794d39 Mon Sep 17 00:00:00 2001 From: Dmitry Nechay Date: Wed, 19 Feb 2025 12:50:53 +0300 Subject: [PATCH 5/5] feat: run RecO ci when core changes --- .github/workflows/ci-test-cvat-recording-oracle.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci-test-cvat-recording-oracle.yaml b/.github/workflows/ci-test-cvat-recording-oracle.yaml index 638d0019f4..7b558d982e 100644 --- a/.github/workflows/ci-test-cvat-recording-oracle.yaml +++ b/.github/workflows/ci-test-cvat-recording-oracle.yaml @@ -4,7 +4,7 @@ on: push: paths: - 'packages/examples/cvat/recording-oracle/**' - - 'packages/sdk/python/human-protocol-sdk/**' + - 'packages/core/**' jobs: cvat-exo-test: