From 6a0bbad10851b38463076ff16cbddc7ca5b76bcb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jonathan=20K=C3=B6ssler?= Date: Mon, 18 Nov 2024 13:53:11 +0100 Subject: [PATCH] ops: update CI --- .gitlab-ci.yml | 60 ++++++++++++++------------------------------------ 1 file changed, 17 insertions(+), 43 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2764c03..78c39d2 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,49 +1,23 @@ +# CI for services, check gitlab repo for python package CI include: - project: "Gitlab/gitlab" - ref: 0.3.0 - file: "/ci-templates/research/python_pkg_venv_test_build_release_gitlab-ci.yml" - -default: - image: python:3.10 + ref: main + file: "/ci-templates/research/python_pkg-test-build-release.gitlab-ci.yml" +# set project variables here variables: - PIP_CACHE_DIR: "$CI_PROJECT_DIR/.cache/pip" - GITLAB_PYPI_URL: https://gitlab.knecon.com/api/v4/projects/${CI_PROJECT_ID}/packages/pypi - PYPI_REGISTRY_RESEARCH: https://gitlab.knecon.com/api/v4/groups/19/-/packages/pypi - POETRY_SOURCE_REF_RESEARCH: gitlab-research - PYPI_REGISTRY_RED: https://gitlab.knecon.com/api/v4/groups/12/-/packages/pypi - POETRY_SOURCE_REF_RED: gitlab-red - PYPI_REGISTRY_FFORESIGHT: https://gitlab.knecon.com/api/v4/groups/269/-/packages/pypi - POETRY_SOURCE_REF_FFORESIGHT: gitlab-fforesight - # POETRY_HOME: /opt/poetry + NEXUS_PROJECT_DIR: research # subfolder in Nexus docker-gin where your container will be stored + IMAGENAME: $CI_PROJECT_NAME # if the project URL is gitlab.example.com/group-name/project-1, CI_PROJECT_NAME is project-1 + REPORTS_DIR: reports + FF_USE_FASTZIP: "true" # enable fastzip - a faster zip implementation that also supports level configuration. + ARTIFACT_COMPRESSION_LEVEL: default # can also be set to fastest, fast, slow and slowest. If just enabling fastzip is not enough try setting this to fastest or fast. + CACHE_COMPRESSION_LEVEL: default # same as above, but for caches + # TRANSFER_METER_FREQUENCY: 5s # will display transfer progress every 5 seconds for artifacts and remote caches. For debugging purposes. -setup-poetry-venv: - stage: setup - script: - - env # check env vars - # install poetry & return versions - - pip install --upgrade pip - - pip -V - - python -V - - pip install poetry - - poetry -V - # configure poetry - - poetry config installer.max-workers 10 - - poetry config virtualenvs.in-project true - - poetry config repositories.${POETRY_SOURCE_REF_RESEARCH} ${PYPI_REGISTRY_RESEARCH} - - poetry config http-basic.${POETRY_SOURCE_REF_RESEARCH} ${CI_REGISTRY_USER} ${CI_JOB_TOKEN} - - poetry config repositories.${POETRY_SOURCE_REF_RED} ${PYPI_REGISTRY_RED} - - poetry config http-basic.${POETRY_SOURCE_REF_RED} ${CI_REGISTRY_USER} ${CI_JOB_TOKEN} - - poetry config repositories.${POETRY_SOURCE_REF_FFORESIGHT} ${PYPI_REGISTRY_FFORESIGHT} - - poetry config http-basic.${POETRY_SOURCE_REF_FFORESIGHT} ${CI_REGISTRY_USER} ${CI_JOB_TOKEN} - # create and activate venv - - poetry env use $(which python) - - source .venv/bin/activate - - python -m ensurepip - - env # check env vars again - # install from poetry.lock file - - poetry install --all-extras -vvv -run-tests: - script: - - echo "Disabled until we have an automated way to run docker compose before tests." +############ +# UNIT TESTS +unit-tests: + variables: + ###### UPDATE/EDIT ###### + UNIT_TEST_DIR: "tests/unit_test"