Linux-18.04 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  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. # We can't build this on 18.04 in our current pipeline
  22. cd Pal/ipc/linux
  23. make KERNELDIR=/lib/modules/4.15.0-20-generic/build
  24. '''
  25. }
  26. }
  27. stage('Test') {
  28. steps {
  29. sh '''
  30. cd Pal/regression
  31. make regression
  32. '''
  33. sh '''
  34. cd LibOS/shim/test/regression
  35. make regression
  36. '''
  37. sh '''
  38. cd LibOS/shim/test/fs
  39. make test
  40. '''
  41. sh '''
  42. cd LibOS/shim/test/apps/ltp
  43. make
  44. make ltp.xml
  45. '''
  46. timeout(time: 5, unit: 'MINUTES') {
  47. sh '''
  48. cd LibOS/shim/test/apps/python-simple
  49. PYTHONVERSION=python3.6 make check
  50. '''
  51. }
  52. timeout(time: 5, unit: 'MINUTES') {
  53. sh '''
  54. cd LibOS/shim/test/apps/python-scipy-insecure
  55. PYTHONVERSION=python3.6 make check
  56. '''
  57. }
  58. sh '''
  59. cd LibOS/shim/test/apps/bash
  60. make regression
  61. '''
  62. timeout(time: 5, unit: 'MINUTES') {
  63. sh '''
  64. cd LibOS/shim/test/apps/curl
  65. make check
  66. '''
  67. }
  68. timeout(time: 5, unit: 'MINUTES') {
  69. sh '''
  70. cd LibOS/shim/test/apps/gcc
  71. make check
  72. '''
  73. }
  74. timeout(time: 15, unit: 'MINUTES') {
  75. sh '''
  76. cd LibOS/shim/test/apps/lmbench
  77. make test N_RUNS=1 ENOUGH=100
  78. '''
  79. }
  80. sh '''
  81. cd LibOS/shim/test/apps/lighttpd
  82. make
  83. make start-graphene-server &
  84. sleep 1
  85. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8003
  86. '''
  87. sh '''
  88. cd LibOS/shim/test/apps/nginx
  89. make
  90. make start-graphene-server &
  91. sleep 1
  92. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8002
  93. '''
  94. sh '''
  95. cd LibOS/shim/test/apps/apache
  96. make
  97. make start-graphene-server &
  98. sleep 1
  99. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8001
  100. '''
  101. }
  102. post {
  103. always {
  104. archiveArtifacts 'LibOS/shim/test/apps/ltp/ltp.xml'
  105. junit 'Pal/regression/pal-regression.xml'
  106. junit 'LibOS/shim/test/regression/libos-regression.xml'
  107. junit 'LibOS/shim/test/apps/ltp/ltp.xml'
  108. }
  109. }
  110. }
  111. stage('Deploy') {
  112. steps {
  113. sh 'echo Deploying code'
  114. }
  115. }
  116. }
  117. post {
  118. success {
  119. echo 'Deployment successful'
  120. }
  121. failure {
  122. echo 'Failure while on the pipeline'
  123. }
  124. unstable {
  125. echo 'Pipeline marked as "unstable"'
  126. }
  127. }
  128. }