pipeline { agent any stages { stage('prepare') { sh 'pipenv install -d' } stage('code style') { sh 'pipenv run flake8 --max-line-length=120 --exclude=.venv/* .' } stage('code complexity') { sh 'pipenv run radon cc .' sh 'pipenv run xenon -bB -mA -aA .' } stage('doc') { dir ('doc') { sh 'pipenv run make html' sh 'pipenv run make man' } archiveArtifacts artifacts: 'doc/man/*', fingerprint: true } stage('build') { sh 'pipenv run pex . -r <(pipenv lock -r) -e carom.cli:cli -o dist/carom-client' archiveArtifacts artifacts: 'dist/*', fingerprint: true } } }