Files
smokee2ei1771368759/Jenkinsfile
Mandel Dashboard da0d4c7dac initial commit
2026-02-17 23:52:41 +01:00

86 lines
2.6 KiB
Groovy

#!/usr/bin/env groovy
pipeline {
agent any
options { disableConcurrentBuilds() }
environment {
PYENVPIPELINE_VIRTUALENV = '1'
}
stages {
stage('Build') {
steps {
sh '''
python3 -m venv .venv
. .venv/bin/activate
pip install coverage
pip install --upgrade pip "setuptools==69.5.1" wheel
make EXTRAS="" install
pip install --upgrade "setuptools==69.5.1" wheel
make migrate loaddata collectstatic
pip install "httpx<0.28"
'''
}
}
stage('Lint') {
steps {
sh '''
. .venv/bin/activate
pip install coverage
make lint
'''
}
}
stage('Test') {
steps {
sh '''
. .venv/bin/activate
pip install coverage
make test
'''
}
post {
always {
junit allowEmptyResults: true, testResults: '**/nosetests.xml'
}
success {
recordCoverage(tools: [[parser: 'COBERTURA', pattern: '**/coverage.xml']])
}
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'This will run only if successful'
sh '''
. .venv/bin/activate
pip install coverage
version --plugin=wheel -B${BUILD_NUMBER} --skip-build
git push --tags
'''
build job: 'deployment-stg-create',
quietPeriod: 20,
wait: false,
parameters: [
string(name: 'UPSTREAM_BUILD', value: "smokee2ei1771368759"),
]
}
failure {
emailext subject: "JENKINS-NOTIFICATION: ${currentBuild.currentResult}: Job '${env.JOB_NAME} #${env.BUILD_NUMBER}'",
body: '${SCRIPT, template="groovy-text.template"}',
recipientProviders: [culprits(), brokenBuildSuspects(), brokenTestsSuspects()]
}
unstable {
echo 'This will run only if the run was marked as unstable'
}
changed {
echo 'This will run only if the state of the Pipeline has changed'
echo 'For example, if the Pipeline was previously failing but is now successful'
}
}
}