Linux 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  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 KERNELDIR=/lib/modules/4.4.0-161-generic/build
  19. '''
  20. sh '''
  21. cd Pal/src
  22. make -j 8 PAL_HOST=Skeleton WERROR=1
  23. '''
  24. }
  25. }
  26. stage('Test') {
  27. steps {
  28. sh '''
  29. cd Pal/regression
  30. make regression
  31. '''
  32. sh '''
  33. cd LibOS/shim/test/regression
  34. make regression
  35. '''
  36. sh '''
  37. cd LibOS/shim/test/apps/ltp
  38. make
  39. ./syscalls.sh
  40. '''
  41. timeout(time: 5, unit: 'MINUTES') {
  42. sh '''
  43. cd LibOS/shim/test/apps/python
  44. make regression
  45. '''
  46. }
  47. sh '''
  48. cd LibOS/shim/test/apps/bash
  49. make regression
  50. '''
  51. timeout(time: 5, unit: 'MINUTES') {
  52. sh '''
  53. cd LibOS/shim/test/apps/gcc
  54. make regression
  55. '''
  56. }
  57. timeout(time: 15, unit: 'MINUTES') {
  58. sh '''
  59. cd LibOS/shim/test/apps/lmbench
  60. make regression N_RUNS=1 ENOUGH=100
  61. '''
  62. }
  63. sh '''
  64. cd LibOS/shim/test/apps/lighttpd
  65. make
  66. make start-graphene-server &
  67. sleep 1
  68. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8000
  69. '''
  70. sh '''
  71. cd LibOS/shim/test/apps/apache
  72. make
  73. make start-graphene-server &
  74. sleep 1
  75. LOOP=1 CONCURRENCY_LIST="1 32" ./benchmark-http.sh 127.0.0.1:8001
  76. '''
  77. }
  78. post {
  79. always {
  80. junit 'Pal/regression/pal-regression.xml'
  81. junit 'LibOS/shim/test/regression/libos-regression.xml'
  82. }
  83. }
  84. }
  85. stage('Deploy') {
  86. steps {
  87. sh 'echo Deploying code'
  88. }
  89. }
  90. }
  91. post {
  92. success {
  93. echo 'Deployment successful'
  94. }
  95. failure {
  96. echo 'Failure while on the pipeline'
  97. }
  98. unstable {
  99. echo 'Pipeline marked as "unstable"'
  100. }
  101. }
  102. }