Linux-18.04 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. pipeline {
  2. agent {
  3. dockerfile { filename 'Jenkinsfiles/ubuntu-18.04.dockerfile' }
  4. }
  5. stages {
  6. stage('Lint') {
  7. steps {
  8. sh '''
  9. ./.ci/run-pylint -f text || :
  10. ./.ci/run-pylint -f json | ./.ci/prfilter
  11. ./.ci/run-shellcheck || :
  12. ./.ci/run-shellcheck -f json | ./.ci/prfilter
  13. '''
  14. }
  15. }
  16. stage('Build') {
  17. steps {
  18. sh '''
  19. make -j 8 WERROR=1
  20. make -j 8 WERROR=1 test
  21. '''
  22. }
  23. }
  24. stage('Test') {
  25. steps {
  26. sh '''
  27. cd Pal/regression
  28. make regression
  29. '''
  30. sh '''
  31. cd LibOS/shim/test/regression
  32. make regression
  33. '''
  34. sh '''
  35. cd LibOS/shim/test/fs
  36. make test
  37. '''
  38. sh '''
  39. cd LibOS/shim/test/apps/ltp
  40. make
  41. make ltp.xml
  42. '''
  43. timeout(time: 5, unit: 'MINUTES') {
  44. sh '''
  45. cd LibOS/shim/test/apps/python-simple
  46. PYTHONVERSION=python3.6 make check
  47. '''
  48. }
  49. timeout(time: 5, unit: 'MINUTES') {
  50. sh '''
  51. cd LibOS/shim/test/apps/python-scipy-insecure
  52. PYTHONVERSION=python3.6 make check
  53. '''
  54. }
  55. sh '''
  56. cd LibOS/shim/test/apps/bash
  57. make regression
  58. '''
  59. timeout(time: 5, unit: 'MINUTES') {
  60. sh '''
  61. cd LibOS/shim/test/apps/curl
  62. make check
  63. '''
  64. }
  65. timeout(time: 5, unit: 'MINUTES') {
  66. sh '''
  67. cd LibOS/shim/test/apps/gcc
  68. make check
  69. '''
  70. }
  71. timeout(time: 15, unit: 'MINUTES') {
  72. sh '''
  73. cd LibOS/shim/test/apps/lmbench
  74. make test N_RUNS=1 ENOUGH=100
  75. '''
  76. }
  77. timeout(time: 10, unit: 'MINUTES') {
  78. sh '''
  79. cd LibOS/shim/test/apps/redis
  80. make
  81. make start-graphene-server &
  82. sleep 1
  83. ./src/src/redis-benchmark
  84. '''
  85. }
  86. sh '''
  87. cd LibOS/shim/test/apps/lighttpd
  88. make
  89. make start-graphene-server &
  90. sleep 1
  91. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8003
  92. '''
  93. sh '''
  94. cd LibOS/shim/test/apps/nginx
  95. make
  96. make start-graphene-server &
  97. sleep 1
  98. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8002
  99. '''
  100. sh '''
  101. cd LibOS/shim/test/apps/apache
  102. make
  103. make start-graphene-server &
  104. sleep 1
  105. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8001
  106. '''
  107. }
  108. post {
  109. always {
  110. archiveArtifacts 'LibOS/shim/test/apps/ltp/ltp.xml'
  111. junit 'Pal/regression/pal-regression.xml'
  112. junit 'LibOS/shim/test/regression/libos-regression.xml'
  113. junit 'LibOS/shim/test/apps/ltp/ltp.xml'
  114. }
  115. }
  116. }
  117. stage('Deploy') {
  118. steps {
  119. sh 'echo Deploying code'
  120. }
  121. }
  122. }
  123. post {
  124. success {
  125. echo 'Deployment successful'
  126. }
  127. failure {
  128. echo 'Failure while on the pipeline'
  129. }
  130. unstable {
  131. echo 'Pipeline marked as "unstable"'
  132. }
  133. }
  134. }