Files
graphene/Jenkinsfiles/Linux-Debug-18.04
Dmitrii Kuvaiskii b4673dc171 [Jenkins] Add Redis test to all Jenkins pipelines
Redis is tested with select() syscall on 16.04 pipelines and with
epoll() on 18.04 pipelines.
2019-12-14 12:53:45 -08:00

137 lines
5.3 KiB
Plaintext

pipeline {
agent {
dockerfile { filename 'Jenkinsfiles/ubuntu-18.04.dockerfile' }
}
stages {
stage('Lint') {
steps {
sh '''
./.ci/run-pylint -f text || :
./.ci/run-pylint -f json | ./.ci/prfilter
./.ci/run-shellcheck || :
./.ci/run-shellcheck -f json | ./.ci/prfilter
'''
}
}
stage('Build') {
steps {
sh '''
make -j 8 DEBUG=1 WERROR=1
make -j 8 DEBUG=1 WERROR=1 test
'''
}
}
stage('Test') {
steps {
sh '''
cd Pal/regression
make regression
'''
sh '''
cd LibOS/shim/test/regression
make regression
'''
sh '''
cd LibOS/shim/test/fs
make test
'''
sh '''
cd LibOS/shim/test/apps/ltp
make
make ltp.xml
'''
timeout(time: 5, unit: 'MINUTES') {
sh '''
cd LibOS/shim/test/apps/python-simple
PYTHONVERSION=python3.6 make check
'''
}
timeout(time: 5, unit: 'MINUTES') {
sh '''
cd LibOS/shim/test/apps/python-scipy-insecure
PYTHONVERSION=python3.6 make check
'''
}
sh '''
cd LibOS/shim/test/apps/bash
make regression
'''
timeout(time: 5, unit: 'MINUTES') {
sh '''
cd LibOS/shim/test/apps/curl
make check
'''
}
timeout(time: 5, unit: 'MINUTES') {
sh '''
cd LibOS/shim/test/apps/gcc
make check
'''
}
timeout(time: 20, unit: 'MINUTES') {
sh '''
cd LibOS/shim/test/apps/lmbench
make test N_RUNS=1 ENOUGH=100
'''
}
timeout(time: 10, unit: 'MINUTES') {
sh '''
cd LibOS/shim/test/apps/redis
make
make start-graphene-server &
sleep 1
./src/src/redis-benchmark
'''
}
sh '''
cd LibOS/shim/test/apps/lighttpd
make
make start-graphene-server &
sleep 1
LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8003
'''
sh '''
cd LibOS/shim/test/apps/nginx
make
make start-graphene-server &
sleep 1
LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8002
'''
sh '''
cd LibOS/shim/test/apps/apache
make
make start-graphene-server &
sleep 1
LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8001
'''
}
post {
always {
archiveArtifacts 'LibOS/shim/test/apps/ltp/ltp.xml'
junit 'Pal/regression/pal-regression.xml'
junit 'LibOS/shim/test/regression/libos-regression.xml'
junit 'LibOS/shim/test/apps/ltp/ltp.xml'
}
}
}
stage('Deploy') {
steps {
sh 'echo Deploying code'
}
}
}
post {
success {
echo 'Deployment successful'
}
failure {
echo 'Failure while on the pipeline'
}
unstable {
echo 'Pipeline marked as "unstable"'
}
}
}