66 lines
2.8 KiB
Plaintext
66 lines
2.8 KiB
Plaintext
// Jenkinsfile for jenkins.ipr.univ-rennes1.fr (Institut de Physique de Rennes)
|
|
pipeline {
|
|
agent {label 'alambix_agent'}
|
|
environment {
|
|
IPRBENCH_VENV_PATH = "${WORKSPACE}/iprbench.venv"
|
|
}
|
|
stages {
|
|
stage('setup') {
|
|
steps {
|
|
echo 'setting up itinv test environment'
|
|
sh """#!/bin/bash
|
|
python3 -m venv ${IPRBENCH_VENV_PATH} &&
|
|
source ${IPRBENCH_VENV_PATH}/bin/activate &&
|
|
pip install --upgrade pip &&
|
|
pip install --upgrade setuptools &&
|
|
pip install .
|
|
"""
|
|
}
|
|
}
|
|
stage('testing') {
|
|
steps {
|
|
sh """#!/bin/bash
|
|
set -o errexit
|
|
source ${IPRBENCH_VENV_PATH}/bin/activate &&
|
|
python -m unittest
|
|
"""
|
|
}
|
|
}
|
|
stage('testing (tests that only work on ipr cluster nodes)') {
|
|
steps {
|
|
sh """#!/bin/bash
|
|
set -o errexit
|
|
source /etc/profile.d/modules.sh
|
|
source ${IPRBENCH_VENV_PATH}/bin/activate &&
|
|
python -m unittest ./ci/test_iprcluster.py
|
|
"""
|
|
}
|
|
}
|
|
stage('releasing iprbench...') {
|
|
steps {
|
|
// see https://www.jenkins.io/doc/book/pipeline/jenkinsfile/
|
|
// graffy created the credential 4e327c3e-8b22-462b-8294-199402e22e7c from jenkin's interface in 2020. This credential is named maco-tester, stores a private ssh key that is allowed access to ssh maco@store.ipr.univ-rennes1.fr. This maco-tester credential belongs to global domain and Jenkins store.
|
|
withCredentials([sshUserPrivateKey(credentialsId: '4e327c3e-8b22-462b-8294-199402e22e7c', keyFileVariable: 'MACO_AT_STORE_KEY_FILE_PATH', passphraseVariable: '', usernameVariable: '')]) {
|
|
// MACO_AT_STORE_KEY_FILE_PATH stores the path of the public key file to access maco@store.ipr.univ-rennes1.fr
|
|
sh """
|
|
git archive -o fr.univ-rennes.ipr.iprbench.tar.gz HEAD &&
|
|
scp -i ${MACO_AT_STORE_KEY_FILE_PATH} fr.univ-rennes.ipr.iprbench.tar.gz maco@store.ipr.univ-rennes1.fr:/mnt/store.ipr/InstallProgs/ipr/ipr-packages
|
|
"""
|
|
}
|
|
}
|
|
}
|
|
}
|
|
post
|
|
{
|
|
// always, success, failure, unstable, changed
|
|
failure
|
|
{
|
|
mail bcc: '', body: "<b>Example</b><br>Project: ${env.JOB_NAME} <br>Build Number: ${env.BUILD_NUMBER} <br>Build URL: ${env.BUILD_URL}", cc: '', charset: 'UTF-8', from: '', mimeType: 'text/html', replyTo: '', subject: "CI build failed for ${env.JOB_NAME}", to: "guillaume.raffy@univ-rennes1.fr";
|
|
}
|
|
cleanup {
|
|
cleanWs()
|
|
}
|
|
}
|
|
}
|
|
|