Revert "Standardize Jenkins stages to canonical project pipeline"

This reverts commit 611a1befc9.
This commit is contained in:
2026-02-24 02:59:20 +01:00
parent 611a1befc9
commit dd2799b58b

57
Jenkinsfile vendored
View File

@@ -2,57 +2,42 @@
pipeline { pipeline {
agent any agent any
options { options { disableConcurrentBuilds() }
disableConcurrentBuilds()
timestamps()
buildDiscarder(logRotator(numToKeepStr: '30'))
}
environment { environment {
PYENVPIPELINE_VIRTUALENV = '1' PYENVPIPELINE_VIRTUALENV = '1'
PIP_DISABLE_PIP_VERSION_CHECK = '1'
PYTHONUNBUFFERED = '1'
} }
stages { stages {
stage('Runtime') { stage('Build') {
steps { steps {
sh ''' sh '''
python3 --version
python3 -m venv .venv python3 -m venv .venv
. .venv/bin/activate
python -m pip install -U "pip<24.1" "setuptools<81" wheel
'''
}
}
stage('Resolve Dependencies') {
steps {
sh '''
. .venv/bin/activate . .venv/bin/activate
pip install coverage pip install coverage
pip install --upgrade pip "setuptools==69.5.1" wheel
make EXTRAS="" install make EXTRAS="" install
cp "${JOB_BASE_NAME}/ocyan.json" "${JOB_BASE_NAME}/${JOB_BASE_NAME}.json" cp "${JOB_BASE_NAME}/ocyan.json" "${JOB_BASE_NAME}/${JOB_BASE_NAME}.json"
pip install ruff pylint pylint-django vdt.versionplugin.wheel pip install pylint pylint-django vdt.versionplugin.wheel
pip install --upgrade "setuptools==69.5.1" wheel
make migrate loaddata collectstatic make migrate loaddata collectstatic
pip install "httpx<0.28" pip install "httpx<0.28"
''' '''
} }
} }
stage('Lint') { stage('Lint') {
steps { steps {
sh ''' sh '''
. .venv/bin/activate . .venv/bin/activate
pip install coverage
make lint make lint
''' '''
} }
} }
stage('Test') { stage('Test') {
steps { steps {
sh ''' sh '''
. .venv/bin/activate . .venv/bin/activate
pip install coverage
make test make test
''' '''
} }
@@ -60,12 +45,22 @@ pipeline {
always { always {
junit allowEmptyResults: true, testResults: '**/nosetests.xml' junit allowEmptyResults: true, testResults: '**/nosetests.xml'
} }
}
}
}
post {
success { success {
echo "Coverage step skipped"
}
}
}
}
post {
always {
echo 'This will always run'
}
success {
echo 'This will run only if successful'
sh '''
. .venv/bin/activate
pip install coverage
'''
build job: 'deploy-project-stg', build job: 'deploy-project-stg',
parameters: [string(name: 'PROJECT_NAME', value: env.JOB_BASE_NAME)], parameters: [string(name: 'PROJECT_NAME', value: env.JOB_BASE_NAME)],
wait: false, wait: false,
@@ -75,6 +70,14 @@ pipeline {
emailext subject: "JENKINS-NOTIFICATION: ${currentBuild.currentResult}: Job '${env.JOB_NAME} #${env.BUILD_NUMBER}'", emailext subject: "JENKINS-NOTIFICATION: ${currentBuild.currentResult}: Job '${env.JOB_NAME} #${env.BUILD_NUMBER}'",
body: '${SCRIPT, template="groovy-text.template"}', body: '${SCRIPT, template="groovy-text.template"}',
recipientProviders: [culprits(), brokenBuildSuspects(), brokenTestsSuspects()] 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'
} }
} }
} }