diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2d2a6d117389615cee55e5c39b0a7fba55f9fcec..fe1c4269cf4ec2860f9126f541afee1d17644c64 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,6 +1,12 @@ variables: DOCKER_TLS_CERTDIR: "" +stages: + - build + - test + - publish + + build-master: image: docker:latest stage: build @@ -66,3 +72,31 @@ build: - docker push "$IMAGE:$CI_COMMIT_REF_NAME" except: - master +test: + image: docker:latest + stage: test + variables: + BUCKET_NAME: pvs_testing + services: + - docker:dind + before_script: + - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY + script: + - apk add --update py-pip + - pip install -r requirements.txt + - pytest + - chmod +x env_setup.sh wait_for_container.sh + - ./env_setup.sh + - docker swarm init + - docker stack deploy -c docker-compose.vhr18.yml -c docker-compose.vhr18.dev.yml vhr18-pvs + - ./wait_for_container.sh + - docker ps + - docker ps -qf "name=vhr18-pvs_renderer" + # - docker exec -it $(docker ps -qf "name=vhr18-pvs_renderer") python3 /var/www/pvs/dev/pvs_instance/manage.py id list + # after_script: + # - docker stack rm vhr18-pvs + # - docker volume rm vhr18-pvs_db-data + # - docker volume rm vhr18-pvs_redis-data + # - docker volume rm vhr18-pvs_traefik-data + # - docker volume rm vhr18-pvs_cache-db + \ No newline at end of file diff --git a/env_setup.sh b/env_setup.sh new file mode 100644 index 0000000000000000000000000000000000000000..c106611e745a46536afd6e2995c8a60a63cb9317 --- /dev/null +++ b/env_setup.sh @@ -0,0 +1,8 @@ +#!/bin/sh +cat $vhr18_db > ./env/vhr18_db.env +cat $vhr18_django > ./env/vhr18_django.env +cat $vhr18_obs > ./env/vhr18_obs.env + +cat $emg_db > ./env/emg_db.env +cat $emg_django > ./env/emg_django.env +cat $emg_obs > ./env/emg_obs.env diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..55b033e901cdda93a26ac64b418f260224260a39 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pytest \ No newline at end of file diff --git a/sample_test.py b/sample_test.py new file mode 100644 index 0000000000000000000000000000000000000000..752a1541587eb23edd930e2ed7d9d27454d750eb --- /dev/null +++ b/sample_test.py @@ -0,0 +1,6 @@ +def func(x): + return x + 1 + + +def test_answer(): + assert func(3) == 4 \ No newline at end of file diff --git a/wait_for_container.sh b/wait_for_container.sh new file mode 100644 index 0000000000000000000000000000000000000000..0e83021322c441e32afa098d80ead0cdb6054643 --- /dev/null +++ b/wait_for_container.sh @@ -0,0 +1,7 @@ +#!/bin/sh + + +while [ -z $(docker ps -qf "name=vhr18-pvs_renderer")]; do + >&2 echo "Container is unavailable - sleeping" + sleep 15 + done \ No newline at end of file