From 86e4be00ad0720f06f1c6dd112090e9f2e229ff6 Mon Sep 17 00:00:00 2001 From: Kumi Date: Fri, 25 Aug 2023 08:02:26 +0200 Subject: [PATCH] Add deploy stage and publish job to CI/CD pipeline The commit adds a new deployment stage and a publish job to the .gitlab-ci.yml file. The deploy stage is placed after the test stage, and the publish job is defined to run only on tags. The publish job installs Hatchling, Twine, and Build packages, builds the project, and uploads the distribution files to PyPI using the provided token as the password. --- .gitlab-ci.yml | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index e5a66bb..c6cc9c4 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -2,6 +2,7 @@ image: python:3.10 stages: - test + - deploy before_script: - python -V @@ -9,10 +10,20 @@ before_script: - source venv/bin/activate - pip install -U pip - pip install . - - echo "[KeyDelivery]" > config.ini - - echo "key = ${API_KEY}" >> config.ini - - echo "secret = ${API_SECRET}" >> config.ini test: stage: test - script: python -m unittest test.py + script: + - echo "[KeyDelivery]" > config.ini + - echo "key = ${API_KEY}" >> config.ini + - echo "secret = ${API_SECRET}" >> config.ini + - python -m unittest test.py + +publish: + stage: publish + script: + - pip install -U hatchling twine build + - python -m build . + - python -m twine upload --username __token__ --password ${PYPI_TOKEN} dist/* + only: + - tags \ No newline at end of file