From 14170dc49e205f1a0ba17cb585feddb78262c6ae Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 19 Aug 2024 17:20:45 +0500 Subject: [PATCH 01/22] feat: only mount scripts in docker-compose.yml --- docker-compose.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index ad10773..5df0ab5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,5 +11,5 @@ services: DEST: 1 DEBUG: "SwingSet:ls,SwingSet:vat" volumes: - - .:/workspace - entrypoint: /workspace/contract/scripts/run-chain.sh + - ./contract/scripts:/usr/cache/scripts + entrypoint: /usr/cache/scripts/run-chain.sh From 46b09a7113a06d64d7fe2e2bbe65107f84a2b836 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 19 Aug 2024 17:21:17 +0500 Subject: [PATCH 02/22] rebase main --- contract/package.json | 3 +++ 1 file changed, 3 insertions(+) diff --git a/contract/package.json b/contract/package.json index 5d4fa00..31c9fb9 100644 --- a/contract/package.json +++ b/contract/package.json @@ -9,6 +9,9 @@ "docker:logs": "docker compose logs --tail 200 -f", "docker:bash": "docker compose exec agd bash", "docker:make": "docker compose exec agd make -C /workspace/contract", + "docker:mint100": "make -C /workspace/contract mint100", + "docker:lower-bundle-cost": "make -C /workspace/contract lower-bundle-cost", + "docker:mount-contract": "docker cp .. dapp-offer-up-agd-1:/workspace", "make:help": "make list", "start": "./scripts/wait-for-chain.sh && yarn docker:make clean start-contract", "build": "agoric run scripts/build-contract-deployer.js", From a076cebcce3651b87a3526905cadc072095bd288 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 19 Aug 2024 17:21:39 +0500 Subject: [PATCH 03/22] feat: clean run-chain.sh --- contract/scripts/run-chain.sh | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/contract/scripts/run-chain.sh b/contract/scripts/run-chain.sh index 019cfa9..b756479 100755 --- a/contract/scripts/run-chain.sh +++ b/contract/scripts/run-chain.sh @@ -1,14 +1,10 @@ #!/bin/bash -. /usr/src/upgrade-test-scripts/env_setup.sh - # Start the chain in the background -/usr/src/upgrade-test-scripts/start_agd.sh & +. /usr/src/upgrade-test-scripts/env_setup.sh; /usr/src/upgrade-test-scripts/start_agd.sh & # wait for blocks to start being produced waitForBlock 1 -make -C /workspace/contract mint100 - # bring back chain process to foreground wait From 76842a8d4d10b004b3d1f6e6470dc411230ca8dc Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 23 Aug 2024 18:38:31 +0500 Subject: [PATCH 04/22] feat: add copy-bundle.sh script --- contract/scripts/copy-bundles.sh | 54 ++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100755 contract/scripts/copy-bundles.sh diff --git a/contract/scripts/copy-bundles.sh b/contract/scripts/copy-bundles.sh new file mode 100755 index 0000000..a9bd5ed --- /dev/null +++ b/contract/scripts/copy-bundles.sh @@ -0,0 +1,54 @@ +#!/bin/bash + +# Ensure the necessary directories exist on the container before copying files + +echo "Creating directory /workspace/contract in container agd..." +docker exec agd mkdir -p /workspace/contract + +echo "Copying 'bundles' directory to /workspace/contract in container agd..." +docker cp bundles agd:/workspace/contract/ + +echo "Copying 'start-offer-up-permit.json' to /workspace/contract in container agd..." +docker cp start-offer-up-permit.json agd:/workspace/contract/ + +echo "Copying 'start-offer-up.js' to /workspace/contract in container agd..." +docker cp start-offer-up.js agd:/workspace/contract/ + +#!/bin/bash + +# Define the source file and container name +source_file="bundles/bundle-list" +container_name="agd" + +# Get the host's home directory +host_home="$HOME" + +# Create a temporary file to store the updated paths +temp_file=$(mktemp) + +# Read each line (file path) from the source file +while IFS= read -r file; do + # Replace the host's home directory with $HOME in the file path + container_path="${file/$host_home//root}" + + # Extract the directory part of the container path + container_dir=$(dirname "$container_path") + + # Ensure the directory exists in the container + echo "Ensuring directory $container_dir exists in container $container_name..." + docker exec "$container_name" mkdir -p "$container_dir" + + # Print a message before copying the file + echo "Copying '$file' to '$container_path' in container $container_name..." + + # Copy the file to the corresponding path in the container + docker cp "$file" "${container_name}:$container_path" + + # Write the updated path to the temporary file + echo "$container_path" >> "$temp_file" +done < "$source_file" + +# Move the temporary file back to the original source file +echo "Updating bundle list file in container agd..." +mv "$temp_file" "$source_file" +docker cp "$source_file" agd:/workspace/contract/$source_file From 146a4dbc31f74c717712f41c752c146a22ee4a40 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 23 Aug 2024 18:39:03 +0500 Subject: [PATCH 05/22] chore: docker compose file update --- docker-compose.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 5df0ab5..89ce0be 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -3,6 +3,7 @@ services: # cf. https://github.com/Agoric/agoric-3-proposals image: ghcr.io/agoric/agoric-3-proposals:latest platform: linux/amd64 + container_name: agd ports: - 26656:26656 - 26657:26657 @@ -11,5 +12,5 @@ services: DEST: 1 DEBUG: "SwingSet:ls,SwingSet:vat" volumes: - - ./contract/scripts:/usr/cache/scripts - entrypoint: /usr/cache/scripts/run-chain.sh + - ./contract/scripts:/workspace/contract/scripts + entrypoint: /workspace/contract/scripts/run-chain.sh From 5ac66377cc616b8ccd75952939e09691bc82af8c Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 23 Aug 2024 18:39:53 +0500 Subject: [PATCH 06/22] chore: makefile --- contract/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contract/Makefile b/contract/Makefile index 8330e0a..9f40e1f 100644 --- a/contract/Makefile +++ b/contract/Makefile @@ -64,7 +64,7 @@ instance-q: SCRIPT=start-offer-up.js PERMIT=start-offer-up-permit.json start-contract: $(SCRIPT) $(PERMIT) install-bundles - scripts/propose-start-contract.sh + ./scripts/propose-start-contract.sh install-bundles: bundles/bundle-list ./scripts/install-bundles.sh From 9e4f84998574f2a01987f1d6149ba3c2d074f466 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 23 Aug 2024 18:40:28 +0500 Subject: [PATCH 07/22] chore: fix package.json to do bundle on host machine --- contract/package.json | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/contract/package.json b/contract/package.json index 31c9fb9..92c6df0 100644 --- a/contract/package.json +++ b/contract/package.json @@ -8,10 +8,11 @@ "start:docker": "docker compose up -d", "docker:logs": "docker compose logs --tail 200 -f", "docker:bash": "docker compose exec agd bash", - "docker:make": "docker compose exec agd make -C /workspace/contract", - "docker:mint100": "make -C /workspace/contract mint100", - "docker:lower-bundle-cost": "make -C /workspace/contract lower-bundle-cost", - "docker:mount-contract": "docker cp .. dapp-offer-up-agd-1:/workspace", + "docker:make": "docker compose exec agd make -C /workspace", + "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", + "docker:copy-bundles1": "docker cp bundles agd:/workspace/contract; docker cp start-offer-up-permit.json agd:/workspace/contract; docker cp start-offer-up.js agd:/workspace/contract", + "docker:copy-bundles": "./scripts/copy-bundles.sh", + "docker:copy-Makefile": "docker exec agd mkdir -p /workspace/contract; docker cp Makefile agd:/workspace/contract/", "make:help": "make list", "start": "./scripts/wait-for-chain.sh && yarn docker:make clean start-contract", "build": "agoric run scripts/build-contract-deployer.js", From 7971c2ff71c587db2b1bdbfc7e6f591b148c36c8 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Sat, 24 Aug 2024 16:21:40 +0500 Subject: [PATCH 08/22] chore: fix package.json to do bundle on host machine --- contract/package.json | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/contract/package.json b/contract/package.json index 92c6df0..03d779b 100644 --- a/contract/package.json +++ b/contract/package.json @@ -8,9 +8,8 @@ "start:docker": "docker compose up -d", "docker:logs": "docker compose logs --tail 200 -f", "docker:bash": "docker compose exec agd bash", - "docker:make": "docker compose exec agd make -C /workspace", + "docker:make": "docker compose exec agd make -C /workspace/contract/", "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", - "docker:copy-bundles1": "docker cp bundles agd:/workspace/contract; docker cp start-offer-up-permit.json agd:/workspace/contract; docker cp start-offer-up.js agd:/workspace/contract", "docker:copy-bundles": "./scripts/copy-bundles.sh", "docker:copy-Makefile": "docker exec agd mkdir -p /workspace/contract; docker cp Makefile agd:/workspace/contract/", "make:help": "make list", From 5ce8ab7c26acf20b969f8dac500fe205260334c8 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Sat, 24 Aug 2024 16:22:35 +0500 Subject: [PATCH 09/22] chore: fix package.json to do bundle on host machine --- contract/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contract/package.json b/contract/package.json index 03d779b..3596b3c 100644 --- a/contract/package.json +++ b/contract/package.json @@ -8,7 +8,7 @@ "start:docker": "docker compose up -d", "docker:logs": "docker compose logs --tail 200 -f", "docker:bash": "docker compose exec agd bash", - "docker:make": "docker compose exec agd make -C /workspace/contract/", + "docker:make": "docker compose exec agd make -C /workspace/contract", "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", "docker:copy-bundles": "./scripts/copy-bundles.sh", "docker:copy-Makefile": "docker exec agd mkdir -p /workspace/contract; docker cp Makefile agd:/workspace/contract/", From 07588e2ea5834a2a444190591ed06e2ba30e2b4d Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Thu, 29 Aug 2024 21:04:36 +0500 Subject: [PATCH 10/22] chore: dedicated workspace dir in a3p container --- contract/package.json | 4 ++-- contract/scripts/build-proposal.sh | 2 +- contract/scripts/copy-bundles.sh | 18 +++++++++--------- contract/scripts/install-bundles.sh | 2 +- contract/scripts/propose-start-contract.sh | 2 +- docker-compose.yml | 4 ++-- package.json | 2 +- 7 files changed, 17 insertions(+), 17 deletions(-) diff --git a/contract/package.json b/contract/package.json index 3596b3c..15ccff4 100644 --- a/contract/package.json +++ b/contract/package.json @@ -8,10 +8,10 @@ "start:docker": "docker compose up -d", "docker:logs": "docker compose logs --tail 200 -f", "docker:bash": "docker compose exec agd bash", - "docker:make": "docker compose exec agd make -C /workspace/contract", + "docker:make": "docker compose exec agd make -C /ws-offer-up/contract", "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", "docker:copy-bundles": "./scripts/copy-bundles.sh", - "docker:copy-Makefile": "docker exec agd mkdir -p /workspace/contract; docker cp Makefile agd:/workspace/contract/", + "docker:copy-Makefile": "docker exec agd mkdir -p /ws-offer-up/contract; docker cp Makefile agd:/ws-offer-up/contract/", "make:help": "make list", "start": "./scripts/wait-for-chain.sh && yarn docker:make clean start-contract", "build": "agoric run scripts/build-contract-deployer.js", diff --git a/contract/scripts/build-proposal.sh b/contract/scripts/build-proposal.sh index 68bdcad..4014f39 100755 --- a/contract/scripts/build-proposal.sh +++ b/contract/scripts/build-proposal.sh @@ -1,7 +1,7 @@ #!/bin/sh # NOTE: intended to run _inside_ the agd container -cd /workspace/contract +cd /ws-offer-up/contract mkdir -p bundles (agoric run ./scripts/build-contract-deployer.js )>/tmp/,run.log diff --git a/contract/scripts/copy-bundles.sh b/contract/scripts/copy-bundles.sh index a9bd5ed..6d1483e 100755 --- a/contract/scripts/copy-bundles.sh +++ b/contract/scripts/copy-bundles.sh @@ -2,17 +2,17 @@ # Ensure the necessary directories exist on the container before copying files -echo "Creating directory /workspace/contract in container agd..." -docker exec agd mkdir -p /workspace/contract +echo "Creating directory /ws-offer-up/contract in container agd..." +docker exec agd mkdir -p /ws-offer-up/contract -echo "Copying 'bundles' directory to /workspace/contract in container agd..." -docker cp bundles agd:/workspace/contract/ +echo "Copying 'bundles' directory to /ws-offer-up/contract in container agd..." +docker cp bundles agd:/ws-offer-up/contract/ -echo "Copying 'start-offer-up-permit.json' to /workspace/contract in container agd..." -docker cp start-offer-up-permit.json agd:/workspace/contract/ +echo "Copying 'start-offer-up-permit.json' to /ws-offer-up/contract in container agd..." +docker cp start-offer-up-permit.json agd:/ws-offer-up/contract/ -echo "Copying 'start-offer-up.js' to /workspace/contract in container agd..." -docker cp start-offer-up.js agd:/workspace/contract/ +echo "Copying 'start-offer-up.js' to /ws-offer-up/contract in container agd..." +docker cp start-offer-up.js agd:/ws-offer-up/contract/ #!/bin/bash @@ -51,4 +51,4 @@ done < "$source_file" # Move the temporary file back to the original source file echo "Updating bundle list file in container agd..." mv "$temp_file" "$source_file" -docker cp "$source_file" agd:/workspace/contract/$source_file +docker cp "$source_file" agd:/ws-offer-up/contract/$source_file diff --git a/contract/scripts/install-bundles.sh b/contract/scripts/install-bundles.sh index 0aa4dd6..9a85ece 100755 --- a/contract/scripts/install-bundles.sh +++ b/contract/scripts/install-bundles.sh @@ -5,7 +5,7 @@ set -ueo pipefail . /usr/src/upgrade-test-scripts/env_setup.sh -cd /workspace/contract +cd /ws-offer-up/contract # wait for blocks to start being produced # avoid collision with run-chain.sh who is also migrating keys diff --git a/contract/scripts/propose-start-contract.sh b/contract/scripts/propose-start-contract.sh index ba09396..f5e7ff3 100755 --- a/contract/scripts/propose-start-contract.sh +++ b/contract/scripts/propose-start-contract.sh @@ -1,7 +1,7 @@ #!/bin/bash set -xueo pipefail -cd /workspace/contract +cd /ws-offer-up/contract SCRIPT=start-offer-up.js PERMIT=start-offer-up-permit.json diff --git a/docker-compose.yml b/docker-compose.yml index 89ce0be..5db286c 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,5 +12,5 @@ services: DEST: 1 DEBUG: "SwingSet:ls,SwingSet:vat" volumes: - - ./contract/scripts:/workspace/contract/scripts - entrypoint: /workspace/contract/scripts/run-chain.sh + - ./contract/scripts:/ws-offer-up/contract/scripts + entrypoint: /ws-offer-up/contract/scripts/run-chain.sh diff --git a/package.json b/package.json index bdca6fd..49325da 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "start:docker": "cd contract && docker compose up -d", "docker:logs": "cd contract; docker compose logs --tail 200 -f", "docker:bash": "cd contract; docker compose exec agd bash", - "docker:make": "cd contract; docker compose exec agd make -C /workspace/contract", + "docker:make": "cd contract; docker compose exec agd make -C /ws-offer-up/contract", "make:help": "make -C contract list", "start:contract": "cd contract && yarn start", "start:ui": "cd ui && yarn dev", From 38d1a55c2e32fd17b16fc863d1a7cf89393811d0 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Thu, 29 Aug 2024 21:18:50 +0500 Subject: [PATCH 11/22] chore: scripts are now copied after chain starts --- contract/package.json | 1 + docker-compose.yml | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/contract/package.json b/contract/package.json index 15ccff4..660e97b 100644 --- a/contract/package.json +++ b/contract/package.json @@ -12,6 +12,7 @@ "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", "docker:copy-bundles": "./scripts/copy-bundles.sh", "docker:copy-Makefile": "docker exec agd mkdir -p /ws-offer-up/contract; docker cp Makefile agd:/ws-offer-up/contract/", + "docker:copy-scripts": "docker exec agd mkdir -p /ws-offer-up/contract; docker cp scripts agd:/ws-offer-up/contract/", "make:help": "make list", "start": "./scripts/wait-for-chain.sh && yarn docker:make clean start-contract", "build": "agoric run scripts/build-contract-deployer.js", diff --git a/docker-compose.yml b/docker-compose.yml index 5db286c..adf01f8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -12,5 +12,5 @@ services: DEST: 1 DEBUG: "SwingSet:ls,SwingSet:vat" volumes: - - ./contract/scripts:/ws-offer-up/contract/scripts - entrypoint: /ws-offer-up/contract/scripts/run-chain.sh + - ./contract/scripts/run-chain.sh:/scripts/run-chain.sh + entrypoint: /scripts/run-chain.sh From 5896060bd460ee18f79d41894b07f06c9ed9af5e Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Thu, 29 Aug 2024 21:45:34 +0500 Subject: [PATCH 12/22] chore: use container name instead of service in docker commands --- contract/package.json | 4 ++-- package.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/contract/package.json b/contract/package.json index 660e97b..579d8a0 100644 --- a/contract/package.json +++ b/contract/package.json @@ -7,8 +7,8 @@ "scripts": { "start:docker": "docker compose up -d", "docker:logs": "docker compose logs --tail 200 -f", - "docker:bash": "docker compose exec agd bash", - "docker:make": "docker compose exec agd make -C /ws-offer-up/contract", + "docker:bash": "docker exec agd bash", + "docker:make": "docker exec agd make -C /ws-offer-up/contract", "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", "docker:copy-bundles": "./scripts/copy-bundles.sh", "docker:copy-Makefile": "docker exec agd mkdir -p /ws-offer-up/contract; docker cp Makefile agd:/ws-offer-up/contract/", diff --git a/package.json b/package.json index 49325da..5947d51 100644 --- a/package.json +++ b/package.json @@ -41,8 +41,8 @@ "scripts": { "start:docker": "cd contract && docker compose up -d", "docker:logs": "cd contract; docker compose logs --tail 200 -f", - "docker:bash": "cd contract; docker compose exec agd bash", - "docker:make": "cd contract; docker compose exec agd make -C /ws-offer-up/contract", + "docker:bash": "cd contract; docker exec agd bash", + "docker:make": "cd contract; docker exec agd make -C /ws-offer-up/contract", "make:help": "make -C contract list", "start:contract": "cd contract && yarn start", "start:ui": "cd ui && yarn dev", From 8093abc0e03e6117f93e534f00d60979c5cc7f1a Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Tue, 22 Oct 2024 17:16:45 +0500 Subject: [PATCH 13/22] chore: simplify start:contract --- contract/package.json | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/contract/package.json b/contract/package.json index 579d8a0..936b04b 100644 --- a/contract/package.json +++ b/contract/package.json @@ -10,9 +10,7 @@ "docker:bash": "docker exec agd bash", "docker:make": "docker exec agd make -C /ws-offer-up/contract", "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", - "docker:copy-bundles": "./scripts/copy-bundles.sh", - "docker:copy-Makefile": "docker exec agd mkdir -p /ws-offer-up/contract; docker cp Makefile agd:/ws-offer-up/contract/", - "docker:copy-scripts": "docker exec agd mkdir -p /ws-offer-up/contract; docker cp scripts agd:/ws-offer-up/contract/", + "docker:copy-contract": "docker exec agd mkdir -p /ws-offer-up; docker cp ../node_modules agd:/ws-offer-up/; docker cp ../contract agd:/ws-offer-up/", "make:help": "make list", "start": "./scripts/wait-for-chain.sh && yarn docker:make clean start-contract", "build": "agoric run scripts/build-contract-deployer.js", From e2e3f5f2dc5efcfee5702d9aa5b898c33571aa19 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Tue, 22 Oct 2024 17:45:53 +0500 Subject: [PATCH 14/22] fixup! no need for copy-bundle.sh atm --- contract/scripts/copy-bundles.sh | 54 -------------------------------- 1 file changed, 54 deletions(-) delete mode 100755 contract/scripts/copy-bundles.sh diff --git a/contract/scripts/copy-bundles.sh b/contract/scripts/copy-bundles.sh deleted file mode 100755 index 6d1483e..0000000 --- a/contract/scripts/copy-bundles.sh +++ /dev/null @@ -1,54 +0,0 @@ -#!/bin/bash - -# Ensure the necessary directories exist on the container before copying files - -echo "Creating directory /ws-offer-up/contract in container agd..." -docker exec agd mkdir -p /ws-offer-up/contract - -echo "Copying 'bundles' directory to /ws-offer-up/contract in container agd..." -docker cp bundles agd:/ws-offer-up/contract/ - -echo "Copying 'start-offer-up-permit.json' to /ws-offer-up/contract in container agd..." -docker cp start-offer-up-permit.json agd:/ws-offer-up/contract/ - -echo "Copying 'start-offer-up.js' to /ws-offer-up/contract in container agd..." -docker cp start-offer-up.js agd:/ws-offer-up/contract/ - -#!/bin/bash - -# Define the source file and container name -source_file="bundles/bundle-list" -container_name="agd" - -# Get the host's home directory -host_home="$HOME" - -# Create a temporary file to store the updated paths -temp_file=$(mktemp) - -# Read each line (file path) from the source file -while IFS= read -r file; do - # Replace the host's home directory with $HOME in the file path - container_path="${file/$host_home//root}" - - # Extract the directory part of the container path - container_dir=$(dirname "$container_path") - - # Ensure the directory exists in the container - echo "Ensuring directory $container_dir exists in container $container_name..." - docker exec "$container_name" mkdir -p "$container_dir" - - # Print a message before copying the file - echo "Copying '$file' to '$container_path' in container $container_name..." - - # Copy the file to the corresponding path in the container - docker cp "$file" "${container_name}:$container_path" - - # Write the updated path to the temporary file - echo "$container_path" >> "$temp_file" -done < "$source_file" - -# Move the temporary file back to the original source file -echo "Updating bundle list file in container agd..." -mv "$temp_file" "$source_file" -docker cp "$source_file" agd:/ws-offer-up/contract/$source_file From 8c097706118db8f6eb206a1b1614f633f14c0603 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Fri, 17 Jan 2025 18:49:36 +0500 Subject: [PATCH 15/22] chore: separate script to start chain --- .devcontainer/devcontainer.json | 2 +- contract/package.json | 10 +++---- contract/scripts/run-chain.sh | 2 ++ contract/scripts/start_chain.sh | 49 +++++++++++++++++++++++++++++++++ docker-compose.yml | 16 ----------- package.json | 9 +++--- 6 files changed, 61 insertions(+), 27 deletions(-) create mode 100755 contract/scripts/start_chain.sh delete mode 100644 docker-compose.yml diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 3f52c4f..dd8e788 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -18,7 +18,7 @@ "onAutoForward": "silent" } }, - "postStartCommand": "/bin/bash /workspaces/dapp-offer-up/make_ports_public.sh 26657 1317", + "postStartCommand": "/bin/bash /ws-offerups/dapp-offer-up/make_ports_public.sh 26657 1317", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers/features/github-cli:1": {} diff --git a/contract/package.json b/contract/package.json index 936b04b..e4a754a 100644 --- a/contract/package.json +++ b/contract/package.json @@ -5,12 +5,10 @@ "description": "Offer Up Contract", "type": "module", "scripts": { - "start:docker": "docker compose up -d", - "docker:logs": "docker compose logs --tail 200 -f", - "docker:bash": "docker exec agd bash", - "docker:make": "docker exec agd make -C /ws-offer-up/contract", - "docker:lower-bundle-cost": "yarn docker:make mint100 lower-bundle-cost", - "docker:copy-contract": "docker exec agd mkdir -p /ws-offer-up; docker cp ../node_modules agd:/ws-offer-up/; docker cp ../contract agd:/ws-offer-up/", + "start:docker": "./scripts/start_chain.sh", + "docker:logs": "docker logs --tail 200 -f agdc", + "docker:bash": "docker exec -it agdc bash", + "docker:make": "docker exec agdc make -C /ws-offerup/contract", "make:help": "make list", "start": "./scripts/wait-for-chain.sh && yarn docker:make clean start-contract", "build": "agoric run scripts/build-contract-deployer.js", diff --git a/contract/scripts/run-chain.sh b/contract/scripts/run-chain.sh index b756479..e938ddf 100755 --- a/contract/scripts/run-chain.sh +++ b/contract/scripts/run-chain.sh @@ -6,5 +6,7 @@ # wait for blocks to start being produced waitForBlock 1 +make -C /ws-offerup/contract mint100 + # bring back chain process to foreground wait diff --git a/contract/scripts/start_chain.sh b/contract/scripts/start_chain.sh new file mode 100755 index 0000000..7050d42 --- /dev/null +++ b/contract/scripts/start_chain.sh @@ -0,0 +1,49 @@ +#!/bin/bash +set -e # Exit on error + +# Check if script has execute permissions +if [ ! -x "$(pwd)/contract/scripts/run-chain.sh" ]; then + echo "Adding execute permissions to run-chain.sh..." + chmod +x "$(pwd)/contract/scripts/run-chain.sh" +fi + +# Check if container already exists and is running +if [ "$(docker ps -q -f name=agdc)" ]; then + echo "Container 'agdc' is already running. Please stop it first using 'docker stop agdc' if you want to start a new instance." + exit 1 +fi + +# Check if container exists but is stopped +if [ "$(docker ps -aq -f status=exited -f name=agdc)" ]; then + echo "Found stopped container 'agdc'. Removing it before starting a new one..." + docker rm agdc +fi + +# Set paths only if environment variables are not already set +: ${DAPP_ED_CERT_PATH:="$(pwd)/../dapp-ed-cert"} +: ${DAPP_CHAIN_TIMER_PATH:="$(pwd)/../dapp-chain-timer"} +: ${SECOND_INVITE_PATH:="$(pwd)/../dapp-second-invite"} +: ${DAPP_OFFER_UP_PATH:="$(pwd)/../dapp-offer-up"} +: ${DAPP_AGORIC_BASICS_PATH:="$(pwd)/../dapp-agoric-basics"} + +# Start new container +docker run -d \ + --name agdc \ + --platform linux/amd64 \ + -p 26656:26656 \ + -p 26657:26657 \ + -p 1317:1317 \ + -e DEST=1 \ + -e DEBUG="SwingSet:ls,SwingSet:vat" \ + $([ -d "$DAPP_ED_CERT_PATH" ] && echo "-v $DAPP_ED_CERT_PATH:/ws-edcert") \ + $([ -d "$DAPP_CHAIN_TIMER_PATH" ] && echo "-v $DAPP_CHAIN_TIMER_PATH:/ws-chainTimer") \ + $([ -d "$SECOND_INVITE_PATH" ] && echo "-v $SECOND_INVITE_PATH:/ws-secondInvite") \ + $([ -d "$DAPP_OFFER_UP_PATH" ] && echo "-v $DAPP_OFFER_UP_PATH:/ws-offerup") \ + $([ -d "$DAPP_AGORIC_BASICS_PATH" ] && echo "-v $DAPP_AGORIC_BASICS_PATH:/ws-agoricBasics") \ + ghcr.io/agoric/agoric-3-proposals:latest \ + /ws-edcert/contract/scripts/run-chain.sh || { + echo "Failed to start docker container. Please check if Docker is running and you have necessary permissions." + exit 1 +} + +echo "Container 'agdc' started successfully." diff --git a/docker-compose.yml b/docker-compose.yml deleted file mode 100644 index adf01f8..0000000 --- a/docker-compose.yml +++ /dev/null @@ -1,16 +0,0 @@ -services: - agd: - # cf. https://github.com/Agoric/agoric-3-proposals - image: ghcr.io/agoric/agoric-3-proposals:latest - platform: linux/amd64 - container_name: agd - ports: - - 26656:26656 - - 26657:26657 - - 1317:1317 - environment: - DEST: 1 - DEBUG: "SwingSet:ls,SwingSet:vat" - volumes: - - ./contract/scripts/run-chain.sh:/scripts/run-chain.sh - entrypoint: /scripts/run-chain.sh diff --git a/package.json b/package.json index 5947d51..8f44bfe 100644 --- a/package.json +++ b/package.json @@ -39,10 +39,11 @@ "@babel/highlight": "7.22.5" }, "scripts": { - "start:docker": "cd contract && docker compose up -d", - "docker:logs": "cd contract; docker compose logs --tail 200 -f", - "docker:bash": "cd contract; docker exec agd bash", - "docker:make": "cd contract; docker exec agd make -C /ws-offer-up/contract", + "start:docker": "./contract/scripts/start_chain.sh", + "stop:docker": "cd contract && docker stop agdc && docker rm agdc", + "docker:logs": "cd contract && docker logs -f --tail 200 agdc", + "docker:bash": "cd contract && docker exec -it agdc bash", + "docker:make": "cd contract && docker exec agdc make ", "make:help": "make -C contract list", "start:contract": "cd contract && yarn start", "start:ui": "cd ui && yarn dev", From 63bec300dae9fc0c8bb478b1168573f02607002c Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 20 Jan 2025 14:29:12 +0500 Subject: [PATCH 16/22] fixup! add back `-C /ws-offerup/contract` --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8f44bfe..a94dbf1 100644 --- a/package.json +++ b/package.json @@ -43,7 +43,7 @@ "stop:docker": "cd contract && docker stop agdc && docker rm agdc", "docker:logs": "cd contract && docker logs -f --tail 200 agdc", "docker:bash": "cd contract && docker exec -it agdc bash", - "docker:make": "cd contract && docker exec agdc make ", + "docker:make": "cd contract && docker exec agdc make -C /ws-offerup/contract", "make:help": "make -C contract list", "start:contract": "cd contract && yarn start", "start:ui": "cd ui && yarn dev", From d02bd4fe66fde5c5577579173a501de5044b8ffa Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 20 Jan 2025 17:54:53 +0500 Subject: [PATCH 17/22] chore: clean up with ENV variables --- contract/package.json | 6 +-- contract/scripts/build-proposal.sh | 2 +- contract/scripts/install-bundles.sh | 2 +- contract/scripts/propose-start-contract.sh | 2 +- contract/scripts/run-chain.sh | 55 +++++++++++++++++++--- contract/scripts/start_chain.sh | 49 ------------------- package.json | 4 +- 7 files changed, 56 insertions(+), 64 deletions(-) delete mode 100755 contract/scripts/start_chain.sh diff --git a/contract/package.json b/contract/package.json index e4a754a..71d5a33 100644 --- a/contract/package.json +++ b/contract/package.json @@ -5,12 +5,12 @@ "description": "Offer Up Contract", "type": "module", "scripts": { - "start:docker": "./scripts/start_chain.sh", + "start:docker": ". ./scripts/run-chain.sh", "docker:logs": "docker logs --tail 200 -f agdc", "docker:bash": "docker exec -it agdc bash", - "docker:make": "docker exec agdc make -C /ws-offerup/contract", + "docker:make": "docker exec agdc make -C ${WS_OFFER_UP:-/ws-offerup}/contract", "make:help": "make list", - "start": "./scripts/wait-for-chain.sh && yarn docker:make clean start-contract", + "start": "./scripts/wait-for-chain.sh && yarn docker:make clean mint100 start-contract", "build": "agoric run scripts/build-contract-deployer.js", "test": "ava --verbose", "lint": "tsc && eslint '**/*.js'", diff --git a/contract/scripts/build-proposal.sh b/contract/scripts/build-proposal.sh index 4014f39..c2d7958 100755 --- a/contract/scripts/build-proposal.sh +++ b/contract/scripts/build-proposal.sh @@ -1,7 +1,7 @@ #!/bin/sh # NOTE: intended to run _inside_ the agd container -cd /ws-offer-up/contract +cd ${WS_OFFER_UP:-/ws-offerup}/contract mkdir -p bundles (agoric run ./scripts/build-contract-deployer.js )>/tmp/,run.log diff --git a/contract/scripts/install-bundles.sh b/contract/scripts/install-bundles.sh index 9a85ece..05dd683 100755 --- a/contract/scripts/install-bundles.sh +++ b/contract/scripts/install-bundles.sh @@ -5,7 +5,7 @@ set -ueo pipefail . /usr/src/upgrade-test-scripts/env_setup.sh -cd /ws-offer-up/contract +cd ${WS_OFFER_UP:-/ws-offerup}/contract # wait for blocks to start being produced # avoid collision with run-chain.sh who is also migrating keys diff --git a/contract/scripts/propose-start-contract.sh b/contract/scripts/propose-start-contract.sh index f5e7ff3..de55144 100755 --- a/contract/scripts/propose-start-contract.sh +++ b/contract/scripts/propose-start-contract.sh @@ -1,7 +1,7 @@ #!/bin/bash set -xueo pipefail -cd /ws-offer-up/contract +cd ${WS_OFFER_UP:-/ws-offerup}/contract SCRIPT=start-offer-up.js PERMIT=start-offer-up-permit.json diff --git a/contract/scripts/run-chain.sh b/contract/scripts/run-chain.sh index e938ddf..88df7e4 100755 --- a/contract/scripts/run-chain.sh +++ b/contract/scripts/run-chain.sh @@ -1,12 +1,53 @@ #!/bin/bash +set -e # Exit on error -# Start the chain in the background -. /usr/src/upgrade-test-scripts/env_setup.sh; /usr/src/upgrade-test-scripts/start_agd.sh & +# Check if container already exists and is running +if [ "$(docker ps -q -f name=agdc)" ]; then + echo "Container 'agdc' is already running. Please stop it first using 'docker stop agdc' if you want to start a new instance." + exit 1 +fi -# wait for blocks to start being produced -waitForBlock 1 +# Check if container exists but is stopped +if [ "$(docker ps -aq -f status=exited -f name=agdc)" ]; then + echo "Found stopped container 'agdc'. Removing it before starting a new one..." + docker rm agdc +fi -make -C /ws-offerup/contract mint100 +# Set paths only if environment variables are not already set +: ${DAPP_ED_CERT_PATH:="$(pwd)/../dapp-ed-cert"} +: ${DAPP_CHAIN_TIMER_PATH:="$(pwd)/../dapp-chain-timer"} +: ${SECOND_INVITE_PATH:="$(pwd)/../dapp-second-invite"} +: ${DAPP_OFFER_UP_PATH:="$(pwd)/../dapp-offer-up"} +: ${DAPP_AGORIC_BASICS_PATH:="$(pwd)/../dapp-agoric-basics"} -# bring back chain process to foreground -wait +# Set workspace names with default values +: ${WS_EDCERT:="/ws-edcert"} +: ${WS_CHAIN_TIMER:="/ws-chainTimer"} +: ${WS_SECOND_INVITE:="/ws-secondInvite"} +: ${WS_OFFER_UP:="/ws-offerup"} +: ${WS_AGORIC_BASICS:="/ws-agoricBasics"} + +# Start new container with the chain startup commands +docker run -d \ + --name agdc \ + --platform linux/amd64 \ + -p 26656:26656 \ + -p 26657:26657 \ + -p 1317:1317 \ + -e DEST=1 \ + -e DEBUG="SwingSet:ls,SwingSet:vat" \ + $([ -d "$DAPP_ED_CERT_PATH" ] && echo "-v $DAPP_ED_CERT_PATH:$WS_EDCERT") \ + $([ -d "$DAPP_CHAIN_TIMER_PATH" ] && echo "-v $DAPP_CHAIN_TIMER_PATH:$WS_CHAIN_TIMER") \ + $([ -d "$SECOND_INVITE_PATH" ] && echo "-v $SECOND_INVITE_PATH:$WS_SECOND_INVITE") \ + $([ -d "$DAPP_OFFER_UP_PATH" ] && echo "-v $DAPP_OFFER_UP_PATH:$WS_OFFER_UP") \ + $([ -d "$DAPP_AGORIC_BASICS_PATH" ] && echo "-v $DAPP_AGORIC_BASICS_PATH:$WS_AGORIC_BASICS") \ + ghcr.io/agoric/agoric-3-proposals:latest \ + bash -c '. /usr/src/upgrade-test-scripts/env_setup.sh && \ + /usr/src/upgrade-test-scripts/start_agd.sh & \ + waitForBlock 1 && \ + wait' || { + echo "Failed to start docker container. Please check if Docker is running and you have necessary permissions." + exit 1 +} + +echo "Container 'agdc' started successfully." diff --git a/contract/scripts/start_chain.sh b/contract/scripts/start_chain.sh deleted file mode 100755 index 7050d42..0000000 --- a/contract/scripts/start_chain.sh +++ /dev/null @@ -1,49 +0,0 @@ -#!/bin/bash -set -e # Exit on error - -# Check if script has execute permissions -if [ ! -x "$(pwd)/contract/scripts/run-chain.sh" ]; then - echo "Adding execute permissions to run-chain.sh..." - chmod +x "$(pwd)/contract/scripts/run-chain.sh" -fi - -# Check if container already exists and is running -if [ "$(docker ps -q -f name=agdc)" ]; then - echo "Container 'agdc' is already running. Please stop it first using 'docker stop agdc' if you want to start a new instance." - exit 1 -fi - -# Check if container exists but is stopped -if [ "$(docker ps -aq -f status=exited -f name=agdc)" ]; then - echo "Found stopped container 'agdc'. Removing it before starting a new one..." - docker rm agdc -fi - -# Set paths only if environment variables are not already set -: ${DAPP_ED_CERT_PATH:="$(pwd)/../dapp-ed-cert"} -: ${DAPP_CHAIN_TIMER_PATH:="$(pwd)/../dapp-chain-timer"} -: ${SECOND_INVITE_PATH:="$(pwd)/../dapp-second-invite"} -: ${DAPP_OFFER_UP_PATH:="$(pwd)/../dapp-offer-up"} -: ${DAPP_AGORIC_BASICS_PATH:="$(pwd)/../dapp-agoric-basics"} - -# Start new container -docker run -d \ - --name agdc \ - --platform linux/amd64 \ - -p 26656:26656 \ - -p 26657:26657 \ - -p 1317:1317 \ - -e DEST=1 \ - -e DEBUG="SwingSet:ls,SwingSet:vat" \ - $([ -d "$DAPP_ED_CERT_PATH" ] && echo "-v $DAPP_ED_CERT_PATH:/ws-edcert") \ - $([ -d "$DAPP_CHAIN_TIMER_PATH" ] && echo "-v $DAPP_CHAIN_TIMER_PATH:/ws-chainTimer") \ - $([ -d "$SECOND_INVITE_PATH" ] && echo "-v $SECOND_INVITE_PATH:/ws-secondInvite") \ - $([ -d "$DAPP_OFFER_UP_PATH" ] && echo "-v $DAPP_OFFER_UP_PATH:/ws-offerup") \ - $([ -d "$DAPP_AGORIC_BASICS_PATH" ] && echo "-v $DAPP_AGORIC_BASICS_PATH:/ws-agoricBasics") \ - ghcr.io/agoric/agoric-3-proposals:latest \ - /ws-edcert/contract/scripts/run-chain.sh || { - echo "Failed to start docker container. Please check if Docker is running and you have necessary permissions." - exit 1 -} - -echo "Container 'agdc' started successfully." diff --git a/package.json b/package.json index a94dbf1..10b6a45 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,11 @@ "@babel/highlight": "7.22.5" }, "scripts": { - "start:docker": "./contract/scripts/start_chain.sh", + "start:docker": "./contract/scripts/run-chain.sh", "stop:docker": "cd contract && docker stop agdc && docker rm agdc", "docker:logs": "cd contract && docker logs -f --tail 200 agdc", "docker:bash": "cd contract && docker exec -it agdc bash", - "docker:make": "cd contract && docker exec agdc make -C /ws-offerup/contract", + "docker:make": "cd contract && docker exec agdc make -C ${WS_OFFER_UP:-/ws-offerup}/contract", "make:help": "make -C contract list", "start:contract": "cd contract && yarn start", "start:ui": "cd ui && yarn dev", From 722a4a4be9ba0e56df5c70cc83380a95720a283d Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 3 Feb 2025 13:20:58 +0500 Subject: [PATCH 18/22] fixup! accidental container removal and refatoring --- contract/scripts/run-chain.sh | 41 ++++++++++++++++++++--------------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/contract/scripts/run-chain.sh b/contract/scripts/run-chain.sh index 88df7e4..cbca1dc 100755 --- a/contract/scripts/run-chain.sh +++ b/contract/scripts/run-chain.sh @@ -9,8 +9,15 @@ fi # Check if container exists but is stopped if [ "$(docker ps -aq -f status=exited -f name=agdc)" ]; then - echo "Found stopped container 'agdc'. Removing it before starting a new one..." - docker rm agdc + echo "Found stopped container 'agdc'. Do you want to remove it before starting a new one? (y/N)" + read -r response + if [[ "$response" =~ ^[Yy]$ ]]; then + echo "Removing stopped container 'agdc'..." + docker rm agdc + else + echo "Aborting to preserve existing container." + exit 1 + fi fi # Set paths only if environment variables are not already set @@ -28,24 +35,22 @@ fi : ${WS_AGORIC_BASICS:="/ws-agoricBasics"} # Start new container with the chain startup commands -docker run -d \ - --name agdc \ - --platform linux/amd64 \ - -p 26656:26656 \ - -p 26657:26657 \ - -p 1317:1317 \ - -e DEST=1 \ - -e DEBUG="SwingSet:ls,SwingSet:vat" \ - $([ -d "$DAPP_ED_CERT_PATH" ] && echo "-v $DAPP_ED_CERT_PATH:$WS_EDCERT") \ - $([ -d "$DAPP_CHAIN_TIMER_PATH" ] && echo "-v $DAPP_CHAIN_TIMER_PATH:$WS_CHAIN_TIMER") \ - $([ -d "$SECOND_INVITE_PATH" ] && echo "-v $SECOND_INVITE_PATH:$WS_SECOND_INVITE") \ - $([ -d "$DAPP_OFFER_UP_PATH" ] && echo "-v $DAPP_OFFER_UP_PATH:$WS_OFFER_UP") \ - $([ -d "$DAPP_AGORIC_BASICS_PATH" ] && echo "-v $DAPP_AGORIC_BASICS_PATH:$WS_AGORIC_BASICS") \ - ghcr.io/agoric/agoric-3-proposals:latest \ - bash -c '. /usr/src/upgrade-test-scripts/env_setup.sh && \ +# Define docker parameters +agd_image="ghcr.io/agoric/agoric-3-proposals:latest" +linux_only="--platform linux/amd64" +ports="-p 26656:26656 -p 26657:26657 -p 1317:1317" +env="-e DEST=1 -e DEBUG=\"SwingSet:ls,SwingSet:vat\"" +volumes="$([ -d "$DAPP_ED_CERT_PATH" ] && echo "-v $DAPP_ED_CERT_PATH:$WS_EDCERT") \ + $([ -d "$DAPP_CHAIN_TIMER_PATH" ] && echo "-v $DAPP_CHAIN_TIMER_PATH:$WS_CHAIN_TIMER") \ + $([ -d "$SECOND_INVITE_PATH" ] && echo "-v $SECOND_INVITE_PATH:$WS_SECOND_INVITE") \ + $([ -d "$DAPP_OFFER_UP_PATH" ] && echo "-v $DAPP_OFFER_UP_PATH:$WS_OFFER_UP") \ + $([ -d "$DAPP_AGORIC_BASICS_PATH" ] && echo "-v $DAPP_AGORIC_BASICS_PATH:$WS_AGORIC_BASICS")" +start_agd="bash -c '. /usr/src/upgrade-test-scripts/env_setup.sh && \ /usr/src/upgrade-test-scripts/start_agd.sh & \ waitForBlock 1 && \ - wait' || { + wait'" + +docker run -d --name agdc $linux_only $ports $env $volumes $agd_image $start_agd || { echo "Failed to start docker container. Please check if Docker is running and you have necessary permissions." exit 1 } From 64a76ca180041e30454b18ccf56eca384de33da7 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 3 Feb 2025 13:38:36 +0500 Subject: [PATCH 19/22] chore: container name as env var --- contract/package.json | 6 +++--- contract/scripts/run-chain.sh | 21 ++++++++++++--------- package.json | 8 ++++---- 3 files changed, 19 insertions(+), 16 deletions(-) diff --git a/contract/package.json b/contract/package.json index 71d5a33..74d0f5e 100644 --- a/contract/package.json +++ b/contract/package.json @@ -6,9 +6,9 @@ "type": "module", "scripts": { "start:docker": ". ./scripts/run-chain.sh", - "docker:logs": "docker logs --tail 200 -f agdc", - "docker:bash": "docker exec -it agdc bash", - "docker:make": "docker exec agdc make -C ${WS_OFFER_UP:-/ws-offerup}/contract", + "docker:logs": "docker logs --tail 200 -f ${AGDC_NAME:-agdc}", + "docker:bash": "docker exec -it ${AGDC_NAME:-agdc} bash", + "docker:make": "docker exec ${AGDC_NAME:-agdc} make -C ${WS_OFFER_UP:-/ws-offerup}/contract", "make:help": "make list", "start": "./scripts/wait-for-chain.sh && yarn docker:make clean mint100 start-contract", "build": "agoric run scripts/build-contract-deployer.js", diff --git a/contract/scripts/run-chain.sh b/contract/scripts/run-chain.sh index cbca1dc..1fc0ea1 100755 --- a/contract/scripts/run-chain.sh +++ b/contract/scripts/run-chain.sh @@ -1,21 +1,24 @@ #!/bin/bash set -e # Exit on error +# Set default container name if not provided +: ${AGDC_NAME:="agdc"} + # Check if container already exists and is running -if [ "$(docker ps -q -f name=agdc)" ]; then - echo "Container 'agdc' is already running. Please stop it first using 'docker stop agdc' if you want to start a new instance." +if [ "$(docker ps -q -f name=$AGDC_NAME)" ]; then + echo "Container '$AGDC_NAME' is already running. Please stop it first using 'docker stop $AGDC_NAME' if you want to start a new instance." exit 1 fi # Check if container exists but is stopped -if [ "$(docker ps -aq -f status=exited -f name=agdc)" ]; then - echo "Found stopped container 'agdc'. Do you want to remove it before starting a new one? (y/N)" +if [ "$(docker ps -aq -f status=exited -f name=$AGDC_NAME)" ]; then + echo "Found stopped container '$AGDC_NAME'. Do you want to remove it before starting a new one? (y/N)" read -r response if [[ "$response" =~ ^[Yy]$ ]]; then - echo "Removing stopped container 'agdc'..." - docker rm agdc + echo "Removing stopped container '$AGDC_NAME'..." + docker rm $AGDC_NAME else - echo "Aborting to preserve existing container." + echo "Aborting to preserve existing container. You can set/update AGDC_NAME environment variable to avoid any potential conflicts." exit 1 fi fi @@ -50,9 +53,9 @@ start_agd="bash -c '. /usr/src/upgrade-test-scripts/env_setup.sh && \ waitForBlock 1 && \ wait'" -docker run -d --name agdc $linux_only $ports $env $volumes $agd_image $start_agd || { +docker run -d --name $AGDC_NAME $linux_only $ports $env $volumes $agd_image $start_agd || { echo "Failed to start docker container. Please check if Docker is running and you have necessary permissions." exit 1 } -echo "Container 'agdc' started successfully." +echo "Container '$AGDC_NAME' started successfully." diff --git a/package.json b/package.json index 10b6a45..323540f 100644 --- a/package.json +++ b/package.json @@ -40,10 +40,10 @@ }, "scripts": { "start:docker": "./contract/scripts/run-chain.sh", - "stop:docker": "cd contract && docker stop agdc && docker rm agdc", - "docker:logs": "cd contract && docker logs -f --tail 200 agdc", - "docker:bash": "cd contract && docker exec -it agdc bash", - "docker:make": "cd contract && docker exec agdc make -C ${WS_OFFER_UP:-/ws-offerup}/contract", + "stop:docker": "cd contract && docker stop ${AGDC_NAME:-agdc} && docker rm ${AGDC_NAME:-agdc}", + "docker:logs": "cd contract && docker logs -f --tail 200 ${AGDC_NAME:-agdc}", + "docker:bash": "cd contract && docker exec -it ${AGDC_NAME:-agdc} bash", + "docker:make": "cd contract && docker exec ${AGDC_NAME:-agdc} make -C ${WS_OFFER_UP:-/ws-offerup}/contract", "make:help": "make -C contract list", "start:contract": "cd contract && yarn start", "start:ui": "cd ui && yarn dev", From 206d346ee6b23c267c12a9bd94550b324c67d054 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 3 Feb 2025 14:52:19 +0500 Subject: [PATCH 20/22] fixup! error handling for CI --- contract/scripts/run-chain.sh | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/contract/scripts/run-chain.sh b/contract/scripts/run-chain.sh index 1fc0ea1..0af88a7 100755 --- a/contract/scripts/run-chain.sh +++ b/contract/scripts/run-chain.sh @@ -1,5 +1,18 @@ #!/bin/bash set -e # Exit on error +# Function to handle errors +error_handler() { + local exit_code=$? + echo "Error occurred in script at line $1, exit code: $exit_code" + exit $exit_code +} + +# Set up error handling +trap 'error_handler ${LINENO}' ERR + +# Enable debug output +set -x + # Set default container name if not provided : ${AGDC_NAME:="agdc"} From 30ffba1f0d4d707dfd7efe8b45cebf0b9f81c251 Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir Date: Mon, 3 Feb 2025 15:41:06 +0500 Subject: [PATCH 21/22] fixup! error in setting volumes --- contract/scripts/run-chain.sh | 24 ++++++------------------ 1 file changed, 6 insertions(+), 18 deletions(-) diff --git a/contract/scripts/run-chain.sh b/contract/scripts/run-chain.sh index 0af88a7..02bc547 100755 --- a/contract/scripts/run-chain.sh +++ b/contract/scripts/run-chain.sh @@ -1,18 +1,5 @@ #!/bin/bash set -e # Exit on error -# Function to handle errors -error_handler() { - local exit_code=$? - echo "Error occurred in script at line $1, exit code: $exit_code" - exit $exit_code -} - -# Set up error handling -trap 'error_handler ${LINENO}' ERR - -# Enable debug output -set -x - # Set default container name if not provided : ${AGDC_NAME:="agdc"} @@ -56,11 +43,12 @@ agd_image="ghcr.io/agoric/agoric-3-proposals:latest" linux_only="--platform linux/amd64" ports="-p 26656:26656 -p 26657:26657 -p 1317:1317" env="-e DEST=1 -e DEBUG=\"SwingSet:ls,SwingSet:vat\"" -volumes="$([ -d "$DAPP_ED_CERT_PATH" ] && echo "-v $DAPP_ED_CERT_PATH:$WS_EDCERT") \ - $([ -d "$DAPP_CHAIN_TIMER_PATH" ] && echo "-v $DAPP_CHAIN_TIMER_PATH:$WS_CHAIN_TIMER") \ - $([ -d "$SECOND_INVITE_PATH" ] && echo "-v $SECOND_INVITE_PATH:$WS_SECOND_INVITE") \ - $([ -d "$DAPP_OFFER_UP_PATH" ] && echo "-v $DAPP_OFFER_UP_PATH:$WS_OFFER_UP") \ - $([ -d "$DAPP_AGORIC_BASICS_PATH" ] && echo "-v $DAPP_AGORIC_BASICS_PATH:$WS_AGORIC_BASICS")" +volumes="" +[ -d "$DAPP_ED_CERT_PATH" ] && volumes+=" -v $DAPP_ED_CERT_PATH:$WS_EDCERT" +[ -d "$DAPP_CHAIN_TIMER_PATH" ] && volumes+=" -v $DAPP_CHAIN_TIMER_PATH:$WS_CHAIN_TIMER" +[ -d "$SECOND_INVITE_PATH" ] && volumes+=" -v $SECOND_INVITE_PATH:$WS_SECOND_INVITE" +[ -d "$DAPP_OFFER_UP_PATH" ] && volumes+=" -v $DAPP_OFFER_UP_PATH:$WS_OFFER_UP" +[ -d "$DAPP_AGORIC_BASICS_PATH" ] && volumes+=" -v $DAPP_AGORIC_BASICS_PATH:$WS_AGORIC_BASICS" start_agd="bash -c '. /usr/src/upgrade-test-scripts/env_setup.sh && \ /usr/src/upgrade-test-scripts/start_agd.sh & \ waitForBlock 1 && \ From 2c2e52604983f101d0ab104bdd1ec827a1f4da4a Mon Sep 17 00:00:00 2001 From: Mudassir Shabbir <53943791+amessbee@users.noreply.github.com> Date: Tue, 4 Feb 2025 20:52:45 +0500 Subject: [PATCH 22/22] fixup! Update devcontainer.json --- .devcontainer/devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index dd8e788..3f52c4f 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -18,7 +18,7 @@ "onAutoForward": "silent" } }, - "postStartCommand": "/bin/bash /ws-offerups/dapp-offer-up/make_ports_public.sh 26657 1317", + "postStartCommand": "/bin/bash /workspaces/dapp-offer-up/make_ports_public.sh 26657 1317", "features": { "ghcr.io/devcontainers/features/docker-in-docker:2": {}, "ghcr.io/devcontainers/features/github-cli:1": {}