Linux-18.04 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. pipeline {
  2. agent {
  3. dockerfile { filename 'Jenkinsfiles/ubuntu-18.04.dockerfile' }
  4. }
  5. stages {
  6. stage('Build') {
  7. steps {
  8. sh '''
  9. make -j 8 WERROR=1
  10. make -j 8 WERROR=1 test
  11. # We can't build this on 18.04 in our current pipeline
  12. cd Pal/ipc/linux
  13. make KERNELDIR=/lib/modules/4.15.0-20-generic/build
  14. '''
  15. }
  16. }
  17. stage('Test') {
  18. steps {
  19. sh '''
  20. cd Pal/regression
  21. make regression
  22. '''
  23. sh '''
  24. cd LibOS/shim/test/regression
  25. make regression
  26. '''
  27. sh '''
  28. cd LibOS/shim/test/apps/ltp
  29. make
  30. make ltp.xml
  31. '''
  32. timeout(time: 5, unit: 'MINUTES') {
  33. sh '''
  34. cd LibOS/shim/test/apps/python-simple
  35. PYTHONVERSION=python3.6 make check
  36. '''
  37. }
  38. timeout(time: 5, unit: 'MINUTES') {
  39. sh '''
  40. cd LibOS/shim/test/apps/python-scipy-insecure
  41. PYTHONVERSION=python3.6 make check
  42. '''
  43. }
  44. sh '''
  45. cd LibOS/shim/test/apps/bash
  46. make regression
  47. '''
  48. timeout(time: 5, unit: 'MINUTES') {
  49. sh '''
  50. cd LibOS/shim/test/apps/curl
  51. make check
  52. '''
  53. }
  54. timeout(time: 5, unit: 'MINUTES') {
  55. sh '''
  56. cd LibOS/shim/test/apps/gcc
  57. make check
  58. '''
  59. }
  60. timeout(time: 15, unit: 'MINUTES') {
  61. sh '''
  62. cd LibOS/shim/test/apps/lmbench
  63. make regression N_RUNS=1 ENOUGH=100
  64. '''
  65. }
  66. sh '''
  67. cd LibOS/shim/test/apps/lighttpd
  68. make
  69. make start-graphene-server &
  70. sleep 1
  71. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8003
  72. '''
  73. sh '''
  74. cd LibOS/shim/test/apps/apache
  75. make
  76. make start-graphene-server &
  77. sleep 1
  78. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8001
  79. '''
  80. }
  81. post {
  82. always {
  83. archiveArtifacts 'LibOS/shim/test/apps/ltp/ltp.xml'
  84. junit 'Pal/regression/pal-regression.xml'
  85. junit 'LibOS/shim/test/regression/libos-regression.xml'
  86. junit 'LibOS/shim/test/apps/ltp/ltp.xml'
  87. }
  88. }
  89. }
  90. stage('Deploy') {
  91. steps {
  92. sh 'echo Deploying code'
  93. }
  94. }
  95. }
  96. post {
  97. success {
  98. echo 'Deployment successful'
  99. }
  100. failure {
  101. echo 'Failure while on the pipeline'
  102. }
  103. unstable {
  104. echo 'Pipeline marked as "unstable"'
  105. }
  106. }
  107. }