From c9475223f989a0926d760b01939a21b1079680b6 Mon Sep 17 00:00:00 2001 From: chausman <chausman@nrao.edu> Date: Thu, 6 Jun 2024 11:12:53 -0600 Subject: [PATCH] include messenger tests --- .gitlab-ci.yml | 6 +++- ci/unit-test-other.template.yml | 55 +++++++++++++++++++++++++++++++++ ci/unit-test.template.yml | 14 ++++----- 3 files changed, 66 insertions(+), 9 deletions(-) create mode 100644 ci/unit-test-other.template.yml diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 000319c05..d9e29c4d5 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -248,13 +248,17 @@ unit test notification: TEST_PREFIX2: "shared/workspaces/test/" extends: .unit-test + +############################################### +# Test Stages for Support Modules +############################################### unit test messaging: interruptible: true stage: unit-test variables: SERVICE_NAME: "messaging" PATH_PREFIX: "shared/" - extends: .unit-test + extends: .unit-test-other ############################################### diff --git a/ci/unit-test-other.template.yml b/ci/unit-test-other.template.yml new file mode 100644 index 000000000..f71c38ac3 --- /dev/null +++ b/ci/unit-test-other.template.yml @@ -0,0 +1,55 @@ +# CI Build Template +.build-package: + image: python:3.10 + script: + - apt-get update -y && apt-get install jq -y + # Enter the module directory + - export CAPO_PATH=$PWD + - export CAPO_PROFILE=docker + - WD=$PWD + - cd ${PATH_PREFIX}${SERVICE_NAME} + + # Make symbolic link of python3 install to where it's installed on dev + - mkdir -p /home/ssa/bin + - ln -s "$(which python3)" /home/ssa/bin/python3.10 + - export PATH=$PATH:/home/ssa/bin + + # Install build, poetry and pytest + - pip install poetry + - poetry env use /home/ssa/bin/python3.10 + + # Install the packages for testing + - poetry install --with test + - $(poetry env info -p)/bin/pytest . --junitxml=tests.xml --cov=${SERVICE_NAME} --cov-report= + - mv ./.coverage ${CI_PROJECT_DIR}/.coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA} + - mv ./tests.xml ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml + artifacts: + paths: + - .coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA} + - ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml + reports: + junit: + - ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml + rules: + - if: '$CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH || $CI_COMMIT_BRANCH =~ /(^[0-9](\.[0-9])*)-DEVELOPMENT/' + variables: + IMAGE_TAG: $CI_COMMIT_BRANCH + changes: + - ${PATH_PREFIX}${SERVICE_NAME}/**/* + - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' + variables: + IMAGE_TAG: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME + changes: + - ${PATH_PREFIX}${SERVICE_NAME}/**/* + - if: '$CI_COMMIT_TAG =~ /^end-of-sprint-[0-9]+/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+-rc[0-9]+/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0.9]+-rc[0-9]+/' + variables: + IMAGE_TAG: $CI_COMMIT_TAG + changes: + - ${PATH_PREFIX}${SERVICE_NAME}/**/* + - if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+$/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/' + variables: + IMAGE_TAG: $CI_COMMIT_TAG + changes: + - ${PATH_PREFIX}${SERVICE_NAME}/**/* + + dependencies: [ ] \ No newline at end of file diff --git a/ci/unit-test.template.yml b/ci/unit-test.template.yml index 78d6d3074..f223564f2 100644 --- a/ci/unit-test.template.yml +++ b/ci/unit-test.template.yml @@ -5,14 +5,9 @@ - cd ${PATH_PREFIX}${SERVICE_NAME} # use the poetry virtual environment and packages - poetry install --with test - - | - if [ -z "${PATH_PREFIX2+x}" ]; then - $(poetry env info -p)/bin/pytest . --junitxml=tests.xml --cov=${SERVICE_NAME} --cov-report= - else - $(poetry env info -p)/bin/pytest . --junitxml=tests-service.xml --cov=${SERVICE_NAME} --cov-report= - $(poetry env info -p)/bin/pytest ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests-shared.xml --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-append --cov-report= - $(poetry env info -p)/bin/junitparser merge tests-service.xml tests-shared.xml tests.xml - fi + - $(poetry env info -p)/bin/pytest . --junitxml=tests-service.xml --cov=${SERVICE_NAME} --cov-report= + - $(poetry env info -p)/bin/pytest ../../${TEST_PREFIX2}${SERVICE_NAME} --junitxml=tests-shared.xml --cov=../../${PATH_PREFIX2}${SERVICE_NAME} --cov-append --cov-report= + - $(poetry env info -p)/bin/junitparser merge tests-service.xml tests-shared.xml tests.xml - mv ./.coverage ${CI_PROJECT_DIR}/.coverage.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA} - mv ./tests.xml ${CI_PROJECT_DIR}/tests.${SERVICE_NAME}.${CI_COMMIT_SHORT_SHA}.xml artifacts: @@ -28,6 +23,7 @@ IMAGE_TAG: $CI_COMMIT_BRANCH changes: - ${PATH_PREFIX}${SERVICE_NAME}/**/* + - ${PATH_PREFIX2}${SERVICE_NAME}/* - if: '$CI_PIPELINE_SOURCE == "merge_request_event"' variables: IMAGE_TAG: $CI_MERGE_REQUEST_SOURCE_BRANCH_NAME @@ -39,10 +35,12 @@ IMAGE_TAG: $CI_COMMIT_TAG changes: - ${PATH_PREFIX}${SERVICE_NAME}/**/* + - ${PATH_PREFIX2}${SERVICE_NAME}/* - if: '$CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+$/ || $CI_COMMIT_TAG =~ /[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$/' variables: IMAGE_TAG: $CI_COMMIT_TAG changes: - ${PATH_PREFIX}${SERVICE_NAME}/**/* + - ${PATH_PREFIX2}${SERVICE_NAME}/* dependencies: [] -- GitLab