From 094ef20aa2154f40787944174549a45cbcf146e1 Mon Sep 17 00:00:00 2001 From: Simi Hunjan Date: Wed, 3 Sep 2025 12:59:13 -0700 Subject: [PATCH 1/2] chore: update to use Solo Signed-off-by: Simi Hunjan --- .env.custom_node | 4 +-- .github/workflows/compatibility.yml | 2 +- .github/workflows/test_regression.yml | 50 ++++++++++++++++++++------- docker-compose.yml | 2 +- 4 files changed, 41 insertions(+), 17 deletions(-) diff --git a/.env.custom_node b/.env.custom_node index b98cb55c..31bf56fe 100644 --- a/.env.custom_node +++ b/.env.custom_node @@ -4,7 +4,7 @@ OPERATOR_ACCOUNT_ID=0.0.1022 # The private key of the operator account in the local or any custom network, used for signing transactions -OPERATOR_ACCOUNT_PRIVATE_KEY=302e020100300506032b657004220420a608e2130a0a3cb34f86e757303c862bee353d9ab77ba4387ec084f881d420d4 +OPERATOR_ACCOUNT_PRIVATE_KEY=44162cd9b9a2f5582bd13b43cfd8be3bc20b8a81ee77f6bf77391598bcfbae4 # The IP address and port of the local node or any custom node NODE_IP=127.0.0.1:50211 @@ -19,7 +19,7 @@ NODE_TIMEOUT=30000 MIRROR_NETWORK=127.0.0.1:5600 # The REST API URL for the local or any custom mirror node -MIRROR_NODE_REST_URL=http://127.0.0.1:5551 +MIRROR_NODE_REST_URL=http://127.0.0.1:8081 # The Java-based REST API URL for the local or any custom mirror node MIRROR_NODE_REST_JAVA_URL=http://127.0.0.1:8084 diff --git a/.github/workflows/compatibility.yml b/.github/workflows/compatibility.yml index 85d15185..bba874f4 100644 --- a/.github/workflows/compatibility.yml +++ b/.github/workflows/compatibility.yml @@ -141,7 +141,7 @@ jobs: OPERATOR_ACCOUNT_PRIVATE_KEY: "302e020100300506032b65700422042091132178e72057a1d7528025956fe39b0b847f200ab59b2fdd367017f3087137" JSON_RPC_SERVER_URL: "http://127.0.0.1:8544" NODE_IP: "127.0.0.1:50211" - MIRROR_NODE_REST_URL: "http://127.0.0.1:5551" + MIRROR_NODE_REST_URL: "http://127.0.0.1:8081" MIRROR_NODE_REST_JAVA_URL: "http://127.0.0.1:8084" NODE_TIMEOUT: "30000" MIRROR_NETWORK: "127.0.0.1:5600" diff --git a/.github/workflows/test_regression.yml b/.github/workflows/test_regression.yml index d05c8edc..f330ff43 100644 --- a/.github/workflows/test_regression.yml +++ b/.github/workflows/test_regression.yml @@ -68,28 +68,50 @@ jobs: node-version: "20" cache: "npm" - - name: Start local Hedera network + - name: Setup Kind + uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # v1.12.0 + with: + install_only: true + node_image: kindest/node:v1.31.4@sha256:2cb39f7295fe7eafee0842b1052a599a4fb0f8bcf3f83d96c7f4864c357c6c30 + version: v0.26.0 + kubectl_version: v1.31.4 + verbosity: 3 + wait: 120s + + - name: Install Solo CLI run: | - # TODO: Remove the static version once the issue is fixed - ionice -c 2 -n 2 nice -n 19 npx @hashgraph/hedera-local@2.37.1 start -d \ - --network local \ - --balance=10000000 \ - --cache-dir=/tmp/hedera-cache - - name: Wait for Hedera local network + set -euo pipefail + npm install -g @hashgraph/solo + solo --version + kind --version + + - name: Deploy Solo + id: solo_deploy + env: + SOLO_CLUSTER_NAME: solo + SOLO_NAMESPACE: solo + SOLO_CLUSTER_SETUP_NAMESPACE: solo-cluster + SOLO_DEPLOYMENT: solo-deployment run: | - echo "Waiting for Hedera local network on port 50211..." - until bash -c 'exec 3>/dev/tcp/localhost/50211'; do - echo "Still waiting..." - sleep 1 - done - echo "Hedera local network is ready!" + set -euo pipefail + kind create cluster -n "${SOLO_CLUSTER_NAME}" + solo quick-start single deploy | tee solo-deploy.log + + - name: Check port forwarding + run: | + ps -ef | grep port-forward + env + curl -fsS http://localhost:8080/api/v1/network/nodes + curl -fsS http://localhost:8081/api/v1/network/nodes # TODO: Update this once we have a dynamically updated image - name: Pull JS TCK Server run: | docker pull ivaylogarnev/js-tck-server-amd + - name: Start tck-server in background run: | TEST=${{ matrix.suite }} docker compose -f ./docker-compose.yml up -d tck-server + - name: Wait for TCK server run: | echo "Waiting for TCK server on port 8544..." @@ -98,11 +120,13 @@ jobs: sleep 1 done echo "TCK server is ready!" + - name: Run ${{ matrix.suite }} tests run: | TEST=${{ matrix.suite }} docker compose -f ./docker-compose.yml up \ --abort-on-container-exit \ --exit-code-from hiero-tck-client hiero-tck-client + - name: Stop the local node and containers if: ${{ always() }} run: | diff --git a/docker-compose.yml b/docker-compose.yml index 1d9e9c18..5b2024fd 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,7 +21,7 @@ services: OPERATOR_ACCOUNT_PRIVATE_KEY: "302e020100300506032b657004220420a608e2130a0a3cb34f86e757303c862bee353d9ab77ba4387ec084f881d420d4" JSON_RPC_SERVER_URL: "http://tck-server:8544" NODE_IP: "network-node:50211" - MIRROR_NODE_REST_URL: "http://mirror-node-rest:5551" + MIRROR_NODE_REST_URL: "http://mirror-node-rest:8081" MIRROR_NODE_REST_JAVA_URL: "http://mirror-node-rest-java:8084" depends_on: - tck-server From 8148c3fc4806bc79ce48308a4519dc016a2d60bb Mon Sep 17 00:00:00 2001 From: Simi Hunjan Date: Wed, 3 Sep 2025 13:41:12 -0700 Subject: [PATCH 2/2] chore: update docker-compose.yml Signed-off-by: Simi Hunjan --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5b2024fd..6a4e7303 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -28,6 +28,6 @@ services: networks: hedera-network-node: - external: true + driver: bridge hedera-mirror-node: - external: true + driver: bridge \ No newline at end of file