diff --git a/src/pathcomp/.gitlab-ci.yml b/src/pathcomp/.gitlab-ci.yml index b8f348b8f0b7db7cc77955d6af20d99ed8933a97..2458d1bf413b90bd00070ac0d27b534e5792b38c 100644 --- a/src/pathcomp/.gitlab-ci.yml +++ b/src/pathcomp/.gitlab-ci.yml @@ -22,7 +22,7 @@ build pathcomp-backend: - docker login -u "$CI_REGISTRY_USER" -p "$CI_REGISTRY_PASSWORD" $CI_REGISTRY script: # This first build tags the builder resulting image to prevent being removed by dangling image removal command - - docker build -t "${IMAGE_NAME}-backend:$IMAGE_TAG-builder" --target builder -f ./src/$IMAGE_NAME/backend/Dockerfile . + - docker build -t "${IMAGE_NAME}-backend:${IMAGE_TAG}-builder" --target builder -f ./src/$IMAGE_NAME/backend/Dockerfile . - docker build -t "${IMAGE_NAME}-backend:$IMAGE_TAG" -f ./src/$IMAGE_NAME/backend/Dockerfile . - docker tag "${IMAGE_NAME}-backend:$IMAGE_TAG" "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG" - docker push "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG" @@ -83,13 +83,13 @@ unit test pathcomp-backend: - if docker container ls | grep ${IMAGE_NAME}-backend; then docker rm -f ${IMAGE_NAME}-backend; else echo "${IMAGE_NAME}-backend image is not in the system"; fi script: - docker pull "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG" - - docker run --name ${IMAGE_NAME}-backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge ${IMAGE_NAME}-backend:$IMAGE_TAG-builder + - docker run --name ${IMAGE_NAME}-backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge ${IMAGE_NAME}-backend:${IMAGE_TAG}-builder - sleep 5 - docker ps -a - docker logs ${IMAGE_NAME}-backend - - docker exec -i $IMAGE_NAME-backend bash -c "curl -0 -v -X POST -H 'Expect:' -H 'Content-Type: application/json' http://127.0.0.1:8081/pathComp/api/v1/compRoute -d @/var/teraflow/test/pc-req.json" - - docker exec -i $IMAGE_NAME-backend bash -c "killall -USR1 pathComp-cvr" - - docker exec -i $IMAGE_NAME-backend bash -c "gcovr" + - docker exec -i ${IMAGE_NAME}-backend bash -c "curl -0 -v -X POST http://127.0.0.1:8081/pathComp/api/v1/compRoute -d @/var/teraflow/test/pc-req.json" + - docker exec -i ${IMAGE_NAME}-backend bash -c "killall -USR1 pathComp-cvr" + - docker exec -i ${IMAGE_NAME}-backend bash -c "gcovr" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: - docker rm -f ${IMAGE_NAME}-backend @@ -128,19 +128,19 @@ unit test pathcomp-frontend: script: - docker pull "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-frontend:$IMAGE_TAG" - docker pull "$CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG" - - docker run --name backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG + - docker run --name ${IMAGE_NAME}-backend -d -p 8081:8081 -v "$PWD/src/${IMAGE_NAME}/backend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-backend:$IMAGE_TAG - sleep 1 - - docker run --name frontend -d -p 10020:10020 --env "PATHCOMP_BACKEND_HOST=backend" --env "PATHCOMP_BACKEND_PORT=8081" -v "$PWD/src/${IMAGE_NAME}/frontend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-frontend:$IMAGE_TAG + - docker run --name ${IMAGE_NAME}-frontend -d -p 10020:10020 --env "PATHCOMP_BACKEND_HOST=${IMAGE_NAME}-backend" --env "PATHCOMP_BACKEND_PORT=8081" -v "$PWD/src/${IMAGE_NAME}/frontend/tests:/opt/results" --network=teraflowbridge $CI_REGISTRY_IMAGE/${IMAGE_NAME}-frontend:$IMAGE_TAG - sleep 5 - docker ps -a - - docker logs frontend - - docker logs backend - - docker exec -i frontend bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/frontend/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}-frontend_report.xml" - - docker exec -i frontend bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" + - docker logs ${IMAGE_NAME}-frontend + - docker logs ${IMAGE_NAME}-backend + - docker exec -i ${IMAGE_NAME}-frontend bash -c "coverage run -m pytest --log-level=INFO --verbose $IMAGE_NAME/frontend/tests/test_unitary.py --junitxml=/opt/results/${IMAGE_NAME}-frontend_report.xml" + - docker exec -i ${IMAGE_NAME}-frontend bash -c "coverage report --include='${IMAGE_NAME}/*' --show-missing" coverage: '/TOTAL\s+\d+\s+\d+\s+(\d+%)/' after_script: - - docker rm -f frontend - - docker rm -f backend + - docker rm -f ${IMAGE_NAME}-frontend + - docker rm -f ${IMAGE_NAME}-backend - docker network rm teraflowbridge rules: - if: '$CI_PIPELINE_SOURCE == "merge_request_event" && ($CI_MERGE_REQUEST_TARGET_BRANCH_NAME == "develop" || $CI_MERGE_REQUEST_TARGET_BRANCH_NAME == $CI_DEFAULT_BRANCH)'