From 075c5c63f03ddba63c1959d9372e317df3056e8a Mon Sep 17 00:00:00 2001 From: frsaba Date: Thu, 21 Mar 2024 15:45:34 +0100 Subject: [PATCH] Added Jenkinsfile (#2) * Initial commit * added GTFS export code from enhancer * setup function and router * update .gitignore * call configure_enhancer_services * /export endpoint * test_gtfs.py * Fixed leading '/' in router.py * Added route_color and route_text_color * Removed logging.conf * Added Jenkinsfile * Publish to PyPI --------- Co-authored-by: Francia Csaba --- Jenkinsfile | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 Jenkinsfile diff --git a/Jenkinsfile b/Jenkinsfile new file mode 100644 index 0000000..b13825f --- /dev/null +++ b/Jenkinsfile @@ -0,0 +1,48 @@ +pipeline { + agent any + environment { + GITEA_CREDS = credentials('AMARILLO-JENKINS-GITEA-USER') + PYPI_CREDS = credentials('AMARILLO-JENKINS-PYPI-USER') + TWINE_REPO_URL = "https://git.gerhardt.io/api/packages/amarillo/pypi" + } + stages { + stage('Create virtual environment') { + steps { + echo 'Creating virtual environment' + sh '''python3 -m venv .venv + . .venv/bin/activate''' + } + } + stage('Installing requirements') { + steps { + echo 'Installing packages' + sh 'python3 -m pip install -r requirements.txt' + sh 'python3 -m pip install --upgrade build' + sh 'python3 -m pip install --upgrade twine' + } + } + stage('Build') { + steps { + echo 'Cleaning up dist directory' + dir("dist") { + deleteDir() + } + echo 'Building package' + sh 'python3 -m build' + } + } + stage('Publish package to GI') { + steps { + sh 'python3 -m twine upload --skip-existing --verbose --repository-url $TWINE_REPO_URL --username $GITEA_CREDS_USR --password $GITEA_CREDS_PSW ./dist/*' + } + } + stage('Publish package to PyPI') { + when { + branch 'main' + } + steps { + sh 'python3 -m twine upload --verbose --username $PYPI_CREDS_USR --password $PYPI_CREDS_PSW ./dist/*' + } + } + } +} \ No newline at end of file