jenkins-presubmit.groovy 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. final kubeCleanup = "kubectl delete --namespace=\$DEPLOY_NS service,statefulset,configmap,pod --all"
  2. pipeline {
  3. agent none
  4. stages {
  5. stage('Parallel') {
  6. failFast true
  7. parallel {
  8. stage('Test') {
  9. agent {
  10. node {
  11. label ""
  12. customWorkspace '/home/ci/wormhole'
  13. }
  14. }
  15. steps {
  16. gerritCheck checks: ['jenkins:test': 'RUNNING'], message: "Running on ${env.NODE_NAME}"
  17. echo "Gerrit change: ${GERRIT_CHANGE_URL}"
  18. echo "Tilt progress dashboard: https://${DASHBOARD_URL}"
  19. sh """
  20. kubectl config set-context ci --namespace=$DEPLOY_NS
  21. kubectl config use-context ci
  22. """
  23. sh kubeCleanup
  24. timeout(time: 60, unit: 'MINUTES') {
  25. sh "tilt ci -- --ci --namespace=$DEPLOY_NS --num=1"
  26. }
  27. timeout(time: 1, unit: 'MINUTES') {
  28. sh "make node"
  29. }
  30. }
  31. post {
  32. success {
  33. gerritCheck checks: ['jenkins:test': 'SUCCESSFUL']
  34. }
  35. unsuccessful {
  36. gerritCheck checks: ['jenkins:test': 'FAILED']
  37. }
  38. cleanup {
  39. sh kubeCleanup
  40. }
  41. }
  42. }
  43. stage('Lint') {
  44. agent {
  45. node {
  46. label ""
  47. customWorkspace '/home/ci/wormhole'
  48. }
  49. }
  50. steps {
  51. gerritCheck checks: ['jenkins:linters': 'RUNNING'], message: "Running on ${env.NODE_NAME}"
  52. echo "Gerrit change: ${GERRIT_CHANGE_URL}"
  53. timeout(time: 1, unit: 'MINUTES') {
  54. sh "make generate"
  55. sh "./lint.sh"
  56. }
  57. }
  58. post {
  59. success {
  60. gerritCheck checks: ['jenkins:linters': 'SUCCESSFUL']
  61. }
  62. unsuccessful {
  63. gerritCheck checks: ['jenkins:linters': 'FAILED']
  64. }
  65. }
  66. }
  67. }
  68. post {
  69. success {
  70. gerritReview labels: [Verified: 1]
  71. }
  72. unsuccessful {
  73. gerritReview labels: [Verified: -1]
  74. }
  75. }
  76. }
  77. }
  78. }