cloudbuild.yaml 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142
  1. # Builds both skia-release:prod and a new fiddler using Google Container
  2. # Builder: https://cloud.google.com/container-builder/docs/
  3. #
  4. steps:
  5. # To test locally, first uncomment the last two lines of this comment block, then submit with:
  6. #
  7. # gcloud builds submit --config cloudbuild.yaml --no-source --substitutions=COMMIT_SHA=b2acf0a93927a57cc1fa9323839e788379ae3366
  8. #
  9. # Where COMMIT_SHA is updated to the last commit into Skia.
  10. #
  11. #- name: 'gcr.io/cloud-builders/git'
  12. # args: ['clone', 'https://github.com/google/skia.git', '.']
  13. - name: 'debian:testing-slim'
  14. args: ['mkdir', '-p', '--mode=777', '/workspace/__doxygen_staging']
  15. - name: 'gcr.io/skia-public/doxygen:testing-slim'
  16. dir: './tools/doxygen'
  17. args: ['doxygen', 'ProdDoxyfile']
  18. timeout: 600s
  19. - name: 'gcr.io/cloud-builders/docker'
  20. args: ['build', '-t', 'gcr.io/$PROJECT_ID/skia-release:prod', './docker/skia-release']
  21. timeout: 7200s
  22. - name: 'gcr.io/cloud-builders/docker'
  23. args: ['build', '-t', 'gcr.io/$PROJECT_ID/skia-wasm-release:prod', './docker/skia-wasm-release']
  24. timeout: 7200s
  25. - name: 'gcr.io/skia-public/infra:prod'
  26. dir: '/home/skia/golib/src/go.skia.org/infra/fiddlek'
  27. env:
  28. - 'ROOT=/workspace/__fiddler_staging'
  29. - 'SKIP_BUILD=1'
  30. args: ['./build_fiddler_release']
  31. timeout: 600s
  32. - name: 'gcr.io/skia-public/infra:prod'
  33. dir: '/home/skia/golib/src/go.skia.org/infra/debugger'
  34. env:
  35. - 'ROOT=/workspace/__debugger_staging'
  36. - 'SKIP_BUILD=1'
  37. args: ['make', 'release_ci']
  38. timeout: 600s
  39. - name: 'gcr.io/skia-public/infra:prod'
  40. dir: '/home/skia/golib/src/go.skia.org/infra/debugger-assets'
  41. env:
  42. - 'ROOT=/workspace/__debugger_assets_staging'
  43. - 'SKIP_BUILD=1'
  44. args: ['make', 'release_ci']
  45. timeout: 600s
  46. - name: 'gcr.io/skia-public/infra:prod'
  47. dir: '/home/skia/golib/src/go.skia.org/infra/api'
  48. env:
  49. - 'ROOT=/workspace/__api_staging'
  50. - 'SKIP_BUILD=1'
  51. args: ['make', 'release_ci']
  52. timeout: 600s
  53. # We can't (easily) run docker inside of docker, which is how we get
  54. # the build artifacts out of skia-wasm-release when running locally.
  55. - name: 'gcr.io/cloud-builders/docker'
  56. args: ['run', '--volume', '/workspace/wasm-products:/OUT',
  57. 'gcr.io/$PROJECT_ID/skia-wasm-release:prod',
  58. 'sh', '-c', 'cp -r /tmp/* /OUT']
  59. dir: 'wasm-products'
  60. - name: 'gcr.io/cloud-builders/docker'
  61. args: ['run', '--volume', '/workspace/wasm-products:/OUT',
  62. '--volume', '/workspace/__jsfiddle_staging:/workspace/__jsfiddle_staging',
  63. '--env', 'ROOT=/workspace/__jsfiddle_staging',
  64. '--env', 'SKIP_BUILD=1',
  65. '--workdir', '/home/skia/golib/src/go.skia.org/infra/jsfiddle',
  66. 'gcr.io/skia-public/infra:prod',
  67. 'make', 'release_ci']
  68. dir: 'wasm-products'
  69. timeout: 600s
  70. - name: 'gcr.io/cloud-builders/docker'
  71. args: ['run', '--volume', '/workspace/wasm-products:/OUT',
  72. '--volume', '/workspace/__skottie_staging:/workspace/__skottie_staging',
  73. '--env', 'ROOT=/workspace/__skottie_staging',
  74. '--env', 'SKIP_BUILD=1',
  75. '--workdir', '/home/skia/golib/src/go.skia.org/infra/skottie',
  76. 'gcr.io/skia-public/infra:prod',
  77. 'make', 'release_ci']
  78. dir: 'wasm-products'
  79. timeout: 600s
  80. - name: 'gcr.io/cloud-builders/docker'
  81. args: ['run', '--volume', '/workspace/wasm-products:/OUT',
  82. '--volume', '/workspace/__particles_staging:/workspace/__particles_staging',
  83. '--env', 'ROOT=/workspace/__particles_staging',
  84. '--env', 'SKIP_BUILD=1',
  85. '--workdir', '/home/skia/golib/src/go.skia.org/infra/particles',
  86. 'gcr.io/skia-public/infra:prod',
  87. 'make', 'release_ci']
  88. dir: 'wasm-products'
  89. timeout: 600s
  90. - name: 'gcr.io/cloud-builders/docker'
  91. args: ['build', '-t', 'gcr.io/$PROJECT_ID/fiddler:$COMMIT_SHA', '/workspace/__fiddler_staging']
  92. timeout: 600s
  93. - name: 'gcr.io/cloud-builders/docker'
  94. args: ['build', '-t', 'gcr.io/$PROJECT_ID/skottie:$COMMIT_SHA', '/workspace/__skottie_staging']
  95. timeout: 600s
  96. - name: 'gcr.io/cloud-builders/docker'
  97. args: ['build', '-t', 'gcr.io/$PROJECT_ID/particles:$COMMIT_SHA', '/workspace/__particles_staging']
  98. timeout: 600s
  99. - name: 'gcr.io/cloud-builders/docker'
  100. args: ['build', '-t', 'gcr.io/$PROJECT_ID/debugger:$COMMIT_SHA', '/workspace/__debugger_staging']
  101. timeout: 600s
  102. - name: 'gcr.io/cloud-builders/docker'
  103. args: ['build', '-t', 'gcr.io/$PROJECT_ID/debugger-assets:$COMMIT_SHA', '/workspace/__debugger_assets_staging']
  104. timeout: 600s
  105. - name: 'gcr.io/cloud-builders/docker'
  106. args: ['build', '-t', 'gcr.io/$PROJECT_ID/jsfiddle:$COMMIT_SHA', '/workspace/__jsfiddle_staging']
  107. timeout: 600s
  108. - name: 'gcr.io/cloud-builders/docker'
  109. args: ['build', '-t', 'gcr.io/$PROJECT_ID/api:$COMMIT_SHA', '/workspace/__api_staging']
  110. timeout: 600s
  111. images:
  112. - 'gcr.io/$PROJECT_ID/fiddler:$COMMIT_SHA'
  113. - 'gcr.io/$PROJECT_ID/skottie:$COMMIT_SHA'
  114. - 'gcr.io/$PROJECT_ID/particles:$COMMIT_SHA'
  115. - 'gcr.io/$PROJECT_ID/debugger:$COMMIT_SHA'
  116. - 'gcr.io/$PROJECT_ID/debugger-assets:$COMMIT_SHA'
  117. - 'gcr.io/$PROJECT_ID/jsfiddle:$COMMIT_SHA'
  118. - 'gcr.io/$PROJECT_ID/api:$COMMIT_SHA'
  119. - 'gcr.io/$PROJECT_ID/skia-release:prod'
  120. - 'gcr.io/$PROJECT_ID/skia-wasm-release:prod'
  121. timeout: 7200s
  122. options:
  123. machineType: 'N1_HIGHCPU_32'