From 0f38c752cf7f616051113242d5ed78c1b2ae7a4f Mon Sep 17 00:00:00 2001 From: Ivan Nikolaev-Axenov Date: Thu, 30 May 2024 18:36:31 +0300 Subject: [PATCH] .gitlab-ci.yml updated v32 --- .gitlab-ci.yml | 12 ++++++----- clr_test/run_test_docker_containers.py | 29 ++++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 5 deletions(-) create mode 100644 clr_test/run_test_docker_containers.py diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 43b6a69d4..ccb667340 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -29,9 +29,6 @@ build: stage: build script: - mvn clean package -DskipTests -Pdistributive - - cd /builds/mfd/clearing/clearing_test - - ls -la -# - mvn --version artifacts: name: "$CI_COMMIT_REF_NAME" expire_in: 1 day @@ -40,11 +37,16 @@ build: test: stage: test + variables: + CLEARING_TEST_DIR: "/builds/mfd/clearing/clearing_test" + CLR_TEST_DIR: "/builds/mfd/clearing/clr_test" script: + - apk update && apk add maven python3 - cd clr_test - pwd - cp -r /builds/mfd/clearing/z-distr/target/clearing/bin ./clearing-all/bin - cp -r /builds/mfd/clearing/z-distr/target/clearing/settings ./clearing-all/settings - cp /builds/mfd/clearing/z-distr/target/clearing/db/DDL.sql ./db - - docker-compose down --volumes - - docker compose up --build --force-recreate --abort-on-container-exit --exit-code-from clearing_system + - python3 run_test_docker_containers.py +# - docker-compose down --volumes +# - docker compose up --build --force-recreate --abort-on-container-exit --exit-code-from clearing_system diff --git a/clr_test/run_test_docker_containers.py b/clr_test/run_test_docker_containers.py new file mode 100644 index 000000000..5d302cf67 --- /dev/null +++ b/clr_test/run_test_docker_containers.py @@ -0,0 +1,29 @@ +import os +import re +import shutil +import subprocess + + +DATA_ROOT_DIR = os.environ['CLEARING_TEST_DIR'] +CLR_TEST_DIR = os.environ['CLR_TEST_DIR'] + + +def run_docker(): + os.chdir(CLR_TEST_DIR) + subprocess.call(["docker", "compose", "down", "--volumes"]) + subprocess.call(["docker", "compose", "up", "--abort-on-container-exit", "--exit-code-from", "clearing_system"]) + + +def main(): + folders = [i for i in sorted(os.listdir(DATA_ROOT_DIR)) if re.search("\\d{1,}.\\d{1,}.*", i)] + for folder in folders: + shutil.rmtree(f"{CLR_TEST_DIR}/clearing_testing_utils/store") + os.remove(f"{CLR_TEST_DIR}/db/export.sql") + os.remove(f"{CLR_TEST_DIR}/db/test-data.sql") + shutil.copytree(f"{DATA_ROOT_DIR}/{folder}/", f"{CLR_TEST_DIR}/", dirs_exist_ok=True) + run_docker() + os.chdir("..") + + +if __name__=='__main__': + main()