Update the Ci/CD pipline to publish AMQ as library

This commit is contained in:
Stanislav Hejny
2025-02-27 03:56:45 +00:00
parent 1b0421964c
commit a633ecef4c
2 changed files with 63 additions and 0 deletions
+33
View File
@@ -1,6 +1,11 @@
# This pipeline would run the test coverage report to satisfy Coverage-Check rule.
stages:
- test
- build
- publish
variables:
PROJECT_ID: 217
# Define a cache for pip dependencies to speed up builds
cache:
@@ -30,3 +35,31 @@ test:
coverage: '/^TOTAL.*\s+(\d+%)$/' # Regex to extract coverage percentage from the report
#rules:
# - if: $CI_COMMIT_BRANCH == "develop" # Run this job only on the 'develop' branch
# Build the package
build:
stage: build
image: python:3.11
before_script:
- pip install --upgrade pip
- pip install setuptools wheel
script:
- python setup.py sdist bdist_wheel
artifacts:
paths:
- dist/
# Publish the package to PyPI
publish:
stage: publish
image: python:3.11
before_script:
- pip install --upgrade pip
- pip install twine
script:
# - twine upload --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD dist/*
- twine upload --repository-url https://git.cleverthis.com/api/v4/projects/$PROJECT_ID/packages/pypi --username $CI_REGISTRY_USER --password $CI_REGISTRY_PASSWORD dist/*
only:
- main # Only publish from the main branch
rules:
- if: $CI_COMMIT_BRANCH == "main"
+30
View File
@@ -0,0 +1,30 @@
from setuptools import setup, find_packages
setup(
name="amqp",
version="0.2.0",
author="Stanislav Hejny",
author_email="stanislav.hejny@cleverthis.com",
description="Adapter for RabbitMQ to integrate a CleverThis python-code Service with CleverMicro platform",
long_description=open("README.md").read(),
long_description_content_type="text/markdown",
url="https://git.cleverthis.com/cleverthis/clevermicro/amq-adapter-python",
packages=find_packages(),
install_requires=[
# dependencies here
"aiohttp~=3.11.11",
"fastapi==0.115.6",
"pika~=1.3.2",
"opentelemetry-api",
"opentelemetry-sdk",
"opentelemetry-exporter-otlp",
"opentelemetry-exporter-prometheus",
"opentelemetry-instrumentation-pika"
],
classifiers=[
"Programming Language :: Python :: 3",
"License :: OSI Approved :: MIT License",
"Operating System :: OS Independent",
],
python_requires=">=3.11",
)