Linux 3.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. pipeline {
  2. agent {
  3. dockerfile { filename 'Jenkinsfiles/ubuntu-16.04.dockerfile' }
  4. }
  5. stages {
  6. stage('Build') {
  7. steps {
  8. sh '''
  9. cd LibOS
  10. make -j 8 glibc-build/Build.success GLIBC_VERSION=2.19
  11. rm -r glibc-build
  12. make -j 8 glibc-build/Build.success GLIBC_VERSION=2.23
  13. rm -r glibc-build
  14. cd ..
  15. make -j 8 WERROR=1
  16. make -j 8 WERROR=1 test
  17. cd Pal/ipc/linux
  18. make
  19. '''
  20. }
  21. }
  22. stage('Test') {
  23. steps {
  24. sh '''
  25. cd Pal/regression
  26. make regression
  27. '''
  28. sh '''
  29. cd LibOS/shim/test/regression
  30. make regression
  31. '''
  32. sh '''
  33. cd LibOS/shim/test/apps/ltp
  34. make
  35. ./syscalls.sh
  36. '''
  37. timeout(time: 5, unit: 'MINUTES') {
  38. sh '''
  39. cd LibOS/shim/test/apps/python
  40. make regression
  41. '''
  42. }
  43. sh '''
  44. cd LibOS/shim/test/apps/bash
  45. make regression
  46. '''
  47. timeout(time: 5, unit: 'MINUTES') {
  48. sh '''
  49. cd LibOS/shim/test/apps/gcc
  50. make regression
  51. '''
  52. }
  53. timeout(time: 15, unit: 'MINUTES') {
  54. sh '''
  55. cd LibOS/shim/test/apps/lmbench
  56. make regression N_RUNS=1 ENOUGH=100
  57. '''
  58. }
  59. sh '''
  60. cd LibOS/shim/test/apps/lighttpd
  61. make
  62. make start-graphene-server &
  63. sleep 1
  64. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh `hostname -I|tr -d '[:space:]'`:8000
  65. '''
  66. sh '''
  67. cd LibOS/shim/test/apps/apache
  68. make
  69. make start-graphene-server &
  70. sleep 1
  71. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh `hostname -I|tr -d '[:space:]'`:8001
  72. '''
  73. }
  74. post {
  75. always {
  76. junit 'Pal/regression/pal-regression.xml'
  77. junit 'LibOS/shim/test/regression/libos-regression.xml'
  78. }
  79. }
  80. }
  81. stage('Deploy') {
  82. steps {
  83. sh 'echo Deploying code'
  84. }
  85. }
  86. }
  87. post {
  88. success {
  89. echo 'Deployment successful'
  90. }
  91. failure {
  92. echo 'Failure while on the pipeline'
  93. }
  94. unstable {
  95. echo 'Pipeline marked as "unstable"'
  96. }
  97. }
  98. }