From 432876a677a52ce593b13837662718d5463c17fa Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Sun, 16 Apr 2023 23:49:51 +0200 Subject: [PATCH 01/15] Try different approach --- .gitlab-ci.yml | 29 ++++++++++++++++++++++++++++- Dockerfile | 5 ----- 2 files changed, 28 insertions(+), 6 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 61afce6e..08b1025a 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,8 +7,9 @@ include: stages: - build - - test - dockerize + - python-test + - test build-mainnet: stage: build @@ -119,3 +120,29 @@ dockerize-testnet: manual timeout: 3h + +test-e2e: + stage: python-test + variables: + IMAGE: $CI_REGISTRY_IMAGE/mainnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA + 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 + - git checkout origin/feature/python-e2e-tests-for-CI + - cd e2e-tests/ + - python3 -m venv venv + - source venv/bin/activate + - pip3 install -r requirements.txt + - python3 start.py --stop + - docker ps -a + - export COMPOSE_SERVICE_PEERPLAYS_BASE_IMAGE=$IMAGE + - python3 start.py --start all + - docker ps -a + - python3 start.py --stop + - deactivate + - docker ps -a + tags: + - python-tests diff --git a/Dockerfile b/Dockerfile index 7a229aa7..43db4a39 100644 --- a/Dockerfile +++ b/Dockerfile @@ -190,8 +190,6 @@ 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 .. @@ -217,6 +215,3 @@ RUN chown peerplays:root -R /home/peerplays/peerplays-network EXPOSE 8090 # Peerplays P2P: EXPOSE 9777 - -# Peerplays -CMD ["./witness_node", "-d", "./witness_node_data_dir"] From a2ce65e1ef1ed1334e1eda21ce2a0f73b58353e5 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Mon, 17 Apr 2023 08:52:41 +0200 Subject: [PATCH 02/15] Add pull image --- .gitlab-ci.yml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 08b1025a..08538c83 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -57,8 +57,6 @@ dockerize-mainnet: - docker rmi $IMAGE tags: - builder - when: - manual timeout: 3h @@ -136,12 +134,13 @@ test-e2e: - python3 -m venv venv - source venv/bin/activate - pip3 install -r requirements.txt - - python3 start.py --stop + - python3 main.py --stop - docker ps -a + - docker pull $IMAGE - export COMPOSE_SERVICE_PEERPLAYS_BASE_IMAGE=$IMAGE - - python3 start.py --start all + - python3 main.py --start all - docker ps -a - - python3 start.py --stop + - python3 main.py --stop - deactivate - docker ps -a tags: From 0f375777c246717ec6a3f3e8824b887c99bc1af3 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Mon, 17 Apr 2023 22:37:26 +0200 Subject: [PATCH 03/15] Quick exec --- .gitlab-ci.yml | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 08538c83..75ab1930 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,9 +6,9 @@ include: - template: Secret-Detection.gitlab-ci.yml stages: + - python-test - build - dockerize - - python-test - test build-mainnet: @@ -122,10 +122,7 @@ dockerize-testnet: test-e2e: stage: python-test variables: - IMAGE: $CI_REGISTRY_IMAGE/mainnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA - before_script: - - docker info - - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + IMAGE: registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c script: - git clone https://gitlab.com/PBSA/tools-libs/peerplays-utils.git - cd peerplays-utils/peerplays-qa-environment From 1b61016693a037c52fd8842a59b5759b4c03278f Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Mon, 17 Apr 2023 22:45:05 +0200 Subject: [PATCH 04/15] docker login still needed --- .gitlab-ci.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 75ab1930..37be02a5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -123,6 +123,9 @@ test-e2e: stage: python-test variables: IMAGE: registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c + 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 From 6f792db52dc5f09ecbdc0697cd16822076cbe7fc Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 18 Apr 2023 00:22:26 +0200 Subject: [PATCH 05/15] Passing locally --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 37be02a5..021e63e6 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -138,7 +138,8 @@ test-e2e: - docker ps -a - docker pull $IMAGE - export COMPOSE_SERVICE_PEERPLAYS_BASE_IMAGE=$IMAGE - - python3 main.py --start all + - python3 main.py --start btc hive eth + - python3 main.py --start pp - docker ps -a - python3 main.py --stop - deactivate From d2374aeed92e0ed7c438860a78c266a71a622b75 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 18 Apr 2023 08:13:20 +0200 Subject: [PATCH 06/15] Try via command line again --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 021e63e6..5a84bd7e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -139,7 +139,7 @@ test-e2e: - docker pull $IMAGE - export COMPOSE_SERVICE_PEERPLAYS_BASE_IMAGE=$IMAGE - python3 main.py --start btc hive eth - - python3 main.py --start pp + - docker-compose up peerplays01 peerplays02 peerplays03 peerplays04 peerplays05 peerplays06 peerplays07 peerplays08 peerplays09 peerplays10 peerplays11 peerplays12 peerplays13 peerplays14 peerplays15 peerplays16 - docker ps -a - python3 main.py --stop - deactivate From 6fe15f27b076069614725ddab9b18c0d715b7f0a Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 18 Apr 2023 08:44:27 +0200 Subject: [PATCH 07/15] Try with rename --- .gitlab-ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5a84bd7e..565488f1 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -137,7 +137,8 @@ test-e2e: - python3 main.py --stop - docker ps -a - docker pull $IMAGE - - export COMPOSE_SERVICE_PEERPLAYS_BASE_IMAGE=$IMAGE + - docker tag $IMAGE peerplays-base:latest + - docker image ls -a - python3 main.py --start btc hive eth - docker-compose up peerplays01 peerplays02 peerplays03 peerplays04 peerplays05 peerplays06 peerplays07 peerplays08 peerplays09 peerplays10 peerplays11 peerplays12 peerplays13 peerplays14 peerplays15 peerplays16 - docker ps -a From 2a6c917e4c72b1ae0e83fdb2717d90d91483d6a4 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 18 Apr 2023 11:14:20 +0200 Subject: [PATCH 08/15] Try through python --- .gitlab-ci.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 565488f1..47d2c6c0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -139,8 +139,7 @@ test-e2e: - docker pull $IMAGE - docker tag $IMAGE peerplays-base:latest - docker image ls -a - - python3 main.py --start btc hive eth - - docker-compose up peerplays01 peerplays02 peerplays03 peerplays04 peerplays05 peerplays06 peerplays07 peerplays08 peerplays09 peerplays10 peerplays11 peerplays12 peerplays13 peerplays14 peerplays15 peerplays16 + - python3 main.py --start all - docker ps -a - python3 main.py --stop - deactivate From fd492ca19695d45948bb1eff74107f5a904b5a71 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 18 Apr 2023 12:53:12 +0200 Subject: [PATCH 09/15] Run tests in the end --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 47d2c6c0..25ff9b62 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -141,6 +141,7 @@ test-e2e: - docker image ls -a - python3 main.py --start all - docker ps -a + - python3 -m pytest test_btc_init_state.py test_hive_inital_state.py test_pp_inital_state.py - python3 main.py --stop - deactivate - docker ps -a From 0175a7d0ecf4032c928535a9e93639a5676d2bf7 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 18 Apr 2023 13:27:00 +0200 Subject: [PATCH 10/15] Try the full flow --- .gitlab-ci.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 25ff9b62..2c3dadaa 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -6,9 +6,9 @@ include: - template: Secret-Detection.gitlab-ci.yml stages: - - python-test - build - dockerize + - python-test - test build-mainnet: @@ -122,7 +122,7 @@ dockerize-testnet: test-e2e: stage: python-test variables: - IMAGE: registry.gitlab.com/pbsa/peerplays/mainnet/feature-python-e2e-tests:943e02cdcd9fb8a90137851635b998cf1b4f622c + IMAGE: $CI_REGISTRY_IMAGE/testnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA before_script: - docker info - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY From 25bbacaa88bc94c21482e1ec1dac88a84d925437 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Tue, 18 Apr 2023 16:17:48 +0200 Subject: [PATCH 11/15] Add docker prune before run --- .gitlab-ci.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2c3dadaa..6767b196 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -49,6 +49,7 @@ dockerize-mainnet: IMAGE: $CI_REGISTRY_IMAGE/mainnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA before_script: - docker info + - docker builder prune -a -f - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: - docker build --no-cache -t $IMAGE . From cfecfb457b6bb7791fcd170200cbd1f47f51d243 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Wed, 19 Apr 2023 00:23:54 +0200 Subject: [PATCH 12/15] Pull propper image --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 6767b196..02e74c0c 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -123,7 +123,7 @@ dockerize-testnet: test-e2e: stage: python-test variables: - IMAGE: $CI_REGISTRY_IMAGE/testnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA + IMAGE: $CI_REGISTRY_IMAGE/mainnet/$CI_COMMIT_REF_SLUG:$CI_COMMIT_SHA before_script: - docker info - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY From 3ee2439d5b8ee3d18bf50fd93edfdc0fe6b2cf46 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Thu, 20 Apr 2023 14:15:30 +0200 Subject: [PATCH 13/15] Revert changes on Dockerfile --- Dockerfile | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Dockerfile b/Dockerfile index 43db4a39..7a229aa7 100644 --- a/Dockerfile +++ b/Dockerfile @@ -190,6 +190,8 @@ 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 .. @@ -215,3 +217,6 @@ RUN chown peerplays:root -R /home/peerplays/peerplays-network EXPOSE 8090 # Peerplays P2P: EXPOSE 9777 + +# Peerplays +CMD ["./witness_node", "-d", "./witness_node_data_dir"] From 1f72b4fbd62f5947ddb21cc4bc378f159b817307 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Fri, 21 Apr 2023 00:35:02 +0200 Subject: [PATCH 14/15] Remove symbolic-ref call --- Dockerfile | 1 - 1 file changed, 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 7a229aa7..8e2c76f3 100644 --- a/Dockerfile +++ b/Dockerfile @@ -190,7 +190,6 @@ ADD . peerplays RUN \ cd peerplays && \ git submodule update --init --recursive && \ - git symbolic-ref --short HEAD && \ git log --oneline -n 5 && \ mkdir build && \ cd build && \ From 838a9820f1873aa30bff59d80ae924fe163a1a74 Mon Sep 17 00:00:00 2001 From: Milos Milosevic Date: Wed, 26 Apr 2023 13:22:19 +0200 Subject: [PATCH 15/15] Right order of the steps --- .gitlab-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 02e74c0c..0da838fb 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -7,9 +7,9 @@ include: stages: - build + - test - dockerize - python-test - - test build-mainnet: stage: build