bmlsa/Jenkinsfile
Harrison 2f86ec050f
Some checks failed
ydeng/bmlsa/pipeline/head There was a failure building this commit
Pipeline now updates environment if possible, otherwise, re-creates it
2023-04-28 11:02:15 -05:00

48 lines
1.6 KiB
Groovy

pipeline {
agent any
stages {
stage("clean") {
steps {
sh 'rm -rf ./dist/*'
}
}
stage("install") {
steps {
sh 'mamba env update --file environment.yml || mamba env create --force --file environment.yml'
sh 'echo "mamba activate bmlsa" >> ~/.bashrc'
}
}
stage("unit tests") {
steps {
sh "python -m pytest --junitxml=test_results.xml"
xunit checksName: '', tools: [JUnit(excludesPattern: '', pattern: 'test_results.xml', stopProcessingIfError: true)]
}
}
stage("build") {
steps {
sh "python -m build"
}
}
stage("test installation") {
steps {
sh "pip install dist/*.whl --force-reinstall"
sh "bmlsa -h"
}
}
stage("archive") {
steps {
archiveArtifacts artifacts: 'dist/*.tar.gz, dist/*.whl'
}
}
stage("publish") {
when {
branch '**/master'
}
steps {
withCredentials([usernamePassword(credentialsId: 'rs-git-package-registry-ydeng', passwordVariable: 'PASS', usernameVariable: 'USER')]) {
sh returnStatus: true, script: 'python -m twine upload --repository-url https://git.reslate.systems/api/packages/${USER}/pypi -u ${USER} -p ${PASS} --non-interactive --disable-progress-bar --verbose dist/*'
}
}
}
}
}