From 98933a6f861c983e43ed3918c564f978e02cbf60 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 4 Apr 2023 14:38:12 +0200 Subject: [PATCH 01/18] Run python e2e tests in the pipeline --- .gitlab-ci.yml | 43 +++++++++++++++++++++++++++++++++++++++---- Dockerfile | 16 ++++++++++------ 2 files changed, 49 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61afce6e..ce405947 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,9 +6,10 @@ include: - template: Secret-Detection.gitlab-ci.yml stages: - - build - - test - dockerize + - build + - python-test + - test build-mainnet: stage: build @@ -49,18 +50,52 @@ dockerize-mainnet: before_script: - docker info - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + - df -BM $pwd script: + - docker images + - docker builder prune -a -f - docker build --no-cache -t $IMAGE . + - docker images - docker push $IMAGE after_script: - docker rmi $IMAGE + - docker images tags: - builder - when: - manual timeout: 3h +test-e2e: + stage: python-test + variables: + IMAGE: $CI_REGISTRY_IMAGE/mainnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA + dependencies: + - dockerize-mainnet + before_script: + - docker info + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - git clone https://gitlab.com/PBSA/tools-libs/peerplays-utils.git + - cd peerplays-utils/peerplays-qa-environment + - cd e2e-tests/ + - python3 -m venv venv + - source venv/bin/activate + - pip3 install -r requirements.txt + - docker ps -a + - python3 main.py --stop + - docker ps -a + - python3 main.py --start btc hive + - docker ps -a + - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py + - docker pull $IMAGE + - docker run -d peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE + - docker ps -a + - ./main.py --stop + - deactivate + - docker ps -a + tags: + - python-tests + build-testnet: stage: build script: diff --git a/Dockerfile b/Dockerfile index 7a229aa7..1d45a601 100644 --- a/Dockerfile +++ b/Dockerfile @@ -50,8 +50,14 @@ RUN echo 'peerplays:peerplays' | chpasswd # SSH EXPOSE 22 +RUN \ + df -h -BM $pwd + WORKDIR /home/peerplays/src +RUN \ + df -h -BM $pwd + #=============================================================================== # Boost setup #=============================================================================== @@ -133,6 +139,9 @@ RUN \ DEBIAN_FRONTEND=noninteractive apt-get install -y \ libsodium-dev +RUN \ + df -h -BM $pwd + RUN \ git clone https://github.com/libbitcoin/libbitcoin-build.git && \ cd libbitcoin-build && \ @@ -190,11 +199,9 @@ ADD . peerplays RUN \ cd peerplays && \ git submodule update --init --recursive && \ - git symbolic-ref --short HEAD && \ - git log --oneline -n 5 && \ mkdir build && \ cd build && \ - cmake -DCMAKE_BUILD_TYPE=Release .. + cmake -DCMAKE_BUILD_TYPE=Debug -DBUILD_PEERPLAYS_TESTNET=1 .. # Build Peerplays RUN \ @@ -208,9 +215,6 @@ RUN \ ln -s /home/peerplays/src/peerplays/build/programs/cli_wallet/cli_wallet ./ && \ ln -s /home/peerplays/src/peerplays/build/programs/witness_node/witness_node ./ -RUN ./witness_node --create-genesis-json genesis.json && \ - rm genesis.json - RUN chown peerplays:root -R /home/peerplays/peerplays-network # Peerplays RPC -- 2.45.2 From 76e8cdf75058dfdcf0b9f2026469bebba1329011 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 4 Apr 2023 18:02:24 +0200 Subject: [PATCH 02/18] Progress --- .gitlab-ci.yml | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index ce405947..51abea76 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,9 +7,9 @@ include: stages: - dockerize - - build - python-test - test + - build build-mainnet: stage: build @@ -30,6 +30,8 @@ build-mainnet: - build/tests/ tags: - builder + when: + manual test-mainnet: stage: test @@ -88,8 +90,9 @@ test-e2e: - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull $IMAGE - - docker run -d peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE + - docker run -d -v peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE - docker ps -a + - python3 -m pytest test_pp_inital_state.py - ./main.py --stop - deactivate - docker ps -a -- 2.45.2 From e8d74f65d3f69556922ef20b27d464eb0ac98b5c Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 4 Apr 2023 19:22:16 +0200 Subject: [PATCH 03/18] Reorder stages --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 51abea76..838ebe74 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -8,8 +8,8 @@ include: stages: - dockerize - python-test - - test - build + - test build-mainnet: stage: build -- 2.45.2 From 943e02cdcd9fb8a90137851635b998cf1b4f622c Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 4 Apr 2023 21:03:25 +0200 Subject: [PATCH 04/18] Use absolute path --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 838ebe74..91185eb0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -78,7 +78,9 @@ test-e2e: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - git clone https://gitlab.com/PBSA/tools-libs/peerplays-utils.git + - pwd - cd peerplays-utils/peerplays-qa-environment + - pwd - cd e2e-tests/ - python3 -m venv venv - source venv/bin/activate @@ -90,7 +92,7 @@ test-e2e: - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull $IMAGE - - docker run -d -v peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE + - docker run -d -v /peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE - docker ps -a - python3 -m pytest test_pp_inital_state.py - ./main.py --stop -- 2.45.2 From b5a2b84558dea5773a9818c7b529f36ffb4cbe60 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 4 Apr 2023 23:01:14 +0200 Subject: [PATCH 05/18] Add execution of init_network --- .gitlab-ci.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 91185eb0..188f0b0f 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -86,14 +86,16 @@ test-e2e: - source venv/bin/activate - pip3 install -r requirements.txt - docker ps -a + - docker stop $(docker ps -a -q) - python3 main.py --stop - docker ps -a - python3 main.py --start btc hive - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull $IMAGE - - docker run -d -v /peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE + - PP_CONTAINER_ID=$(docker run -d -v /peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE) - docker ps -a + - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh - python3 -m pytest test_pp_inital_state.py - ./main.py --stop - deactivate -- 2.45.2 From aef6129bf304003d2c890ebf4a8d0df43888e92a Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Wed, 5 Apr 2023 00:47:52 +0200 Subject: [PATCH 06/18] Speed up --- .gitlab-ci.yml | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 188f0b0f..c61cdf2a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,8 +6,8 @@ include: - template: Secret-Detection.gitlab-ci.yml stages: - - dockerize - python-test + - dockerize - build - test @@ -69,10 +69,6 @@ dockerize-mainnet: test-e2e: stage: python-test - variables: - IMAGE: $CI_REGISTRY_IMAGE/mainnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA - dependencies: - - dockerize-mainnet before_script: - docker info - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY @@ -92,8 +88,11 @@ test-e2e: - python3 main.py --start btc hive - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - - docker pull $IMAGE - - PP_CONTAINER_ID=$(docker run -d -v /peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh $IMAGE) + - docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c + - PP_CONTAINER_ID=$(docker run -d -v /peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) + - echo Milo + - echo $PP_CONTAINER_ID + - echo Milos - docker ps -a - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh - python3 -m pytest test_pp_inital_state.py -- 2.45.2 From f6532efa74cfd50ada9842622baeb6a95dc480dc Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Wed, 5 Apr 2023 01:04:40 +0200 Subject: [PATCH 07/18] Check if files exist --- .gitlab-ci.yml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c61cdf2a..8d824e21 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -83,12 +83,16 @@ test-e2e: - pip3 install -r requirements.txt - docker ps -a - docker stop $(docker ps -a -q) + - docker rm $(docker ps -aq) - python3 main.py --stop - docker ps -a - python3 main.py --start btc hive - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c + - ls -la /peerplays-utils/peerplays-qa-environment/peerplays/config.ini + - ls -la /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json + - ls -la /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh - PP_CONTAINER_ID=$(docker run -d -v /peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - echo Milo - echo $PP_CONTAINER_ID -- 2.45.2 From fc3b66a0a1b112dae272593962ba8b760a76faea Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Wed, 5 Apr 2023 01:38:59 +0200 Subject: [PATCH 08/18] Getting closer --- .gitlab-ci.yml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 8d824e21..318b65b2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -76,7 +76,7 @@ test-e2e: - git clone https://gitlab.com/PBSA/tools-libs/peerplays-utils.git - pwd - cd peerplays-utils/peerplays-qa-environment - - pwd + - FULL_PWD=$(pwd) - cd e2e-tests/ - python3 -m venv venv - source venv/bin/activate @@ -90,10 +90,10 @@ test-e2e: - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c - - ls -la /peerplays-utils/peerplays-qa-environment/peerplays/config.ini - - ls -la /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json - - ls -la /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh - - PP_CONTAINER_ID=$(docker run -d -v /peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v /peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v /peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) + - ls -la $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini + - ls -la $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json + - ls -la $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh + - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - echo Milo - echo $PP_CONTAINER_ID - echo Milos -- 2.45.2 From a874806f09b6a4cf8e18a8f06bc46e015a1ee2a7 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Thu, 13 Apr 2023 09:39:56 +0200 Subject: [PATCH 09/18] Correct the paths --- .gitlab-ci.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 318b65b2..4f11fb26 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -90,9 +90,9 @@ test-e2e: - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c - - ls -la $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini - - ls -la $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json - - ls -la $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh + - ls -la $FULL_PWD/peerplays/config.ini + - ls -la $FULL_PWD/peerplays/genesis.json + - ls -la $FULL_PWD/peerplays/init_network.sh - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - echo Milo - echo $PP_CONTAINER_ID -- 2.45.2 From ae23e37375da174ad9e1abbe955b9be040292606 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Thu, 13 Apr 2023 12:09:05 +0200 Subject: [PATCH 10/18] Hyphen instead of underscore --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 4f11fb26..25b7a87d 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -92,8 +92,8 @@ test-e2e: - docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c - ls -la $FULL_PWD/peerplays/config.ini - ls -la $FULL_PWD/peerplays/genesis.json - - ls -la $FULL_PWD/peerplays/init_network.sh - - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init_network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) + - ls -la $FULL_PWD/peerplays/init-network.sh + - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - echo Milo - echo $PP_CONTAINER_ID - echo Milos -- 2.45.2 From c33a20384a2dc2886af9bae051f6beb13f1d2d5f Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Thu, 13 Apr 2023 12:30:32 +0200 Subject: [PATCH 11/18] Check values in continer --- .gitlab-ci.yml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 25b7a87d..a4652081 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -93,10 +93,9 @@ test-e2e: - ls -la $FULL_PWD/peerplays/config.ini - ls -la $FULL_PWD/peerplays/genesis.json - ls -la $FULL_PWD/peerplays/init-network.sh - - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - - echo Milo + - whoami + - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) "whoami && ls -la" - echo $PP_CONTAINER_ID - - echo Milos - docker ps -a - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh - python3 -m pytest test_pp_inital_state.py -- 2.45.2 From d093584016d4582eadeadb7dfd85dff512341359 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Thu, 13 Apr 2023 12:53:10 +0200 Subject: [PATCH 12/18] Different way to check whoami --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index a4652081..6b43dddb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -94,7 +94,7 @@ test-e2e: - ls -la $FULL_PWD/peerplays/genesis.json - ls -la $FULL_PWD/peerplays/init-network.sh - whoami - - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) "whoami && ls -la" + - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) whoami && ls -la - echo $PP_CONTAINER_ID - docker ps -a - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh -- 2.45.2 From 149d2876d54f90f574ebea704d80ce11e2dfe8b8 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Thu, 13 Apr 2023 13:28:03 +0200 Subject: [PATCH 13/18] Try as different user --- .gitlab-ci.yml | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6b43dddb..1d44b852 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -93,8 +93,9 @@ test-e2e: - ls -la $FULL_PWD/peerplays/config.ini - ls -la $FULL_PWD/peerplays/genesis.json - ls -la $FULL_PWD/peerplays/init-network.sh - - whoami - - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) whoami && ls -la + - USER_ID=$(id -u) + - GROUP_ID=$(id -g) + - PP_CONTAINER_ID=$(docker run -d --user $USER_ID:$GROUP_ID -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - echo $PP_CONTAINER_ID - docker ps -a - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh -- 2.45.2 From 5cf9d2900a8b4c6a6ec4e2fd4117439fe116a842 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Fri, 14 Apr 2023 13:59:18 +0200 Subject: [PATCH 14/18] Run as root again --- .gitlab-ci.yml | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1d44b852..c4b2d053 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -95,12 +95,9 @@ test-e2e: - ls -la $FULL_PWD/peerplays/init-network.sh - USER_ID=$(id -u) - GROUP_ID=$(id -g) - - PP_CONTAINER_ID=$(docker run -d --user $USER_ID:$GROUP_ID -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) + - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - echo $PP_CONTAINER_ID - docker ps -a - - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh - - python3 -m pytest test_pp_inital_state.py - - ./main.py --stop - deactivate - docker ps -a tags: -- 2.45.2 From 46e0d033fb4181d5ff512212e3ee5bb7a3aebb81 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Fri, 14 Apr 2023 14:16:54 +0200 Subject: [PATCH 15/18] hyphen instead of undescore --- .gitlab-ci.yml | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index c4b2d053..142a109e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -95,9 +95,12 @@ test-e2e: - ls -la $FULL_PWD/peerplays/init-network.sh - USER_ID=$(id -u) - GROUP_ID=$(id -g) - - PP_CONTAINER_ID=$(docker run -d -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init_network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) + - PP_CONTAINER_ID=$(docker run -d --user $USER_ID:$GROUP_ID -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init-network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - echo $PP_CONTAINER_ID - docker ps -a + - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh + - python3 -m pytest test_pp_inital_state.py + - ./main.py --stop - deactivate - docker ps -a tags: -- 2.45.2 From 75d2e1945589029cf9a267653774861ad1762946 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Mon, 17 Apr 2023 00:34:58 +0200 Subject: [PATCH 16/18] Try via docker cp --- .gitlab-ci.yml | 16 ++++++++-------- Dockerfile | 2 -- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 142a109e..429b554b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -82,23 +82,23 @@ test-e2e: - source venv/bin/activate - pip3 install -r requirements.txt - docker ps -a - - docker stop $(docker ps -a -q) - - docker rm $(docker ps -aq) - python3 main.py --stop - docker ps -a - - python3 main.py --start btc hive + - python3 main.py --start btc hive eth - docker ps -a - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c - ls -la $FULL_PWD/peerplays/config.ini - ls -la $FULL_PWD/peerplays/genesis.json - ls -la $FULL_PWD/peerplays/init-network.sh - - USER_ID=$(id -u) - - GROUP_ID=$(id -g) - - PP_CONTAINER_ID=$(docker run -d --user $USER_ID:$GROUP_ID -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genesis.json:/home/peerplays/peerplays-network/genensis.json -v $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init-network.sh:/home/peerplays/peerplays-network/init-network.sh registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c) - - echo $PP_CONTAINER_ID + - docker run --name pp -d $IMAGE tail -f /dev/null + - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini pp:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini + - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genensis.json pp:/home/peerplays/peerplays-network/witness_node_data_dir/genensis.json + - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init-network.sh pp:/home/peerplays/peerplays-network/init-network.sh + - docker exec -c pp ./init-network.sh - docker ps -a - - docker exec $PP_CONTAINER_ID sh -c ./init-network.sh + - docker exec pp sh -c ./witness_node -d ./witness_node_data_dir --replay-blockchain + - docker exec pp sh -c ./init-network.sh - python3 -m pytest test_pp_inital_state.py - ./main.py --stop - deactivate diff --git a/Dockerfile b/Dockerfile index 1d45a601..ea7918de 100644 --- a/Dockerfile +++ b/Dockerfile @@ -222,5 +222,3 @@ EXPOSE 8090 # Peerplays P2P: EXPOSE 9777 -# Peerplays -CMD ["./witness_node", "-d", "./witness_node_data_dir"] -- 2.45.2 From e3bf6b9553eb15d164fe5e2ddbfd2a777fef3554 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Mon, 17 Apr 2023 09:01:35 +0200 Subject: [PATCH 17/18] Correct image name --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 429b554b..762610bc 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -91,7 +91,7 @@ test-e2e: - ls -la $FULL_PWD/peerplays/config.ini - ls -la $FULL_PWD/peerplays/genesis.json - ls -la $FULL_PWD/peerplays/init-network.sh - - docker run --name pp -d $IMAGE tail -f /dev/null + - docker run --name pp -d registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c tail -f /dev/null - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini pp:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genensis.json pp:/home/peerplays/peerplays-network/witness_node_data_dir/genensis.json - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init-network.sh pp:/home/peerplays/peerplays-network/init-network.sh -- 2.45.2 From 2bad6a8ac6a423a6e37b867653c04f8ff1e3a94f Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Mon, 17 Apr 2023 10:31:11 +0200 Subject: [PATCH 18/18] More options --- .gitlab-ci.yml | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 762610bc..2dad4cf4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -73,6 +73,8 @@ test-e2e: - docker info - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: + - docker stop $(docker ps -a -q) + - docker rm $(docker ps -aq) - git clone https://gitlab.com/PBSA/tools-libs/peerplays-utils.git - pwd - cd peerplays-utils/peerplays-qa-environment @@ -81,28 +83,28 @@ test-e2e: - python3 -m venv venv - source venv/bin/activate - pip3 install -r requirements.txt - - docker ps -a + - docker ps -a -q - python3 main.py --stop - - docker ps -a + - docker ps -a -q - python3 main.py --start btc hive eth - - docker ps -a + - docker ps -a -q - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py - docker pull registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c - ls -la $FULL_PWD/peerplays/config.ini - ls -la $FULL_PWD/peerplays/genesis.json - ls -la $FULL_PWD/peerplays/init-network.sh - - docker run --name pp -d registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c tail -f /dev/null - - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini pp:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini - - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genensis.json pp:/home/peerplays/peerplays-network/witness_node_data_dir/genensis.json - - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init-network.sh pp:/home/peerplays/peerplays-network/init-network.sh + - PP_CONTAINER_ID=$(docker run --name pp -d registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c tail -f /dev/null) + - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/config.ini $PP_CONTAINER_ID:/home/peerplays/peerplays-network/witness_node_data_dir/config.ini + - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/genensis.json $PP_CONTAINER_ID:/home/peerplays/peerplays-network/witness_node_data_dir/genensis.json + - docker cp $FULL_PWD/e2e-tests/peerplays-utils/peerplays-qa-environment/peerplays/init-network.sh $PP_CONTAINER_ID:/home/peerplays/peerplays-network/init-network.sh - docker exec -c pp ./init-network.sh - - docker ps -a + - docker ps -a -q - docker exec pp sh -c ./witness_node -d ./witness_node_data_dir --replay-blockchain - docker exec pp sh -c ./init-network.sh - python3 -m pytest test_pp_inital_state.py - ./main.py --stop - deactivate - - docker ps -a + - docker ps -a -q tags: - python-tests -- 2.45.2