From c853303a4cf9fd8a2697f2f03c994d5fcf2a93ab Mon Sep 17 00:00:00 2001
From: Maximilian Moser <maximilian.moser@tuwien.ac.at>
Date: Tue, 17 Sep 2024 21:26:07 +0200
Subject: [PATCH] Update GitLab CI/CD configuration
* based on what we have at Invenio-Theme-TUW
---
.gitlab-ci.yml | 33 +++++++++++++++++++++++++--------
1 file changed, 25 insertions(+), 8 deletions(-)
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index a2c30fa..65cbcd7 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -1,6 +1,23 @@
# vim: ts=2
+stages:
+ - testing
+ - release
+
+run-tests:
+ stage: testing
+ script:
+ - pipx install --force pip pipenv
+ - pipenv --rm || true
+ - pipenv run pip install -e '.[tests,opensearch2]'
+ - pipenv run ./run-tests.sh
+ coverage: /TOTAL.*? (100(?:\.0+)?\%|[1-9]?\d(?:\.\d+)?\%)$/
+ rules:
+ - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
+ - if: $CI_COMMIT_TAG =~ /^v\d+/
+
sonarqube-check:
+ stage: testing
variables:
SONAR_USER_HOME: "${CI_PROJECT_DIR}/.sonar" # Defines the location of the analysis task cache
GIT_DEPTH: "0" # Tells git to fetch all the branches of the project, required by the analysis task
@@ -11,17 +28,17 @@ sonarqube-check:
script:
- sonar-scanner
allow_failure: true
- only:
- - master
- - merge_requests
+ rules:
+ - if: $CI_PIPELINE_SOURCE == 'merge_request_event'
+ - if: $CI_COMMIT_BRANCH == $CI_DEFAULT_BRANCH
pypi-release:
+ stage: release
rules:
- if: '$CI_COMMIT_TAG =~ /^v\d+/'
script:
- - pip3 install --upgrade pip build twine check-manifest
- rm -f dist/*
- - python3 -m check_manifest
- - python3 -m build
- - python3 -m twine check dist/*
- - TWINE_USERNAME=${PYPI_USER} TWINE_PASSWORD=${PYPI_PASSWORD} python3 -m twine upload --skip-existing --non-interactive dist/*
+ - pipx run check-manifest
+ - pipx run build
+ - pipx run twine check dist/*
+ - TWINE_USERNAME=${PYPI_USER} TWINE_PASSWORD=${PYPI_PASSWORD} pipx run twine upload --skip-existing --non-interactive dist/*
--
GitLab