cloudbuild.public.yaml 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. ---
  2. steps:
  3. - id: build_base
  4. name: us-east1-docker.pkg.dev/overleaf-ops/ol-docker/cloud-builder
  5. dir: server-ce
  6. args:
  7. - 'build-base'
  8. - id: tag_main_latest_base
  9. name: gcr.io/cloud-builders/docker
  10. script: |
  11. #!/usr/bin/env bash
  12. set -e
  13. if [ ${BRANCH_NAME} == main ]; then
  14. docker tag ${_IMAGE_BASE} ${_IMAGE_BASE_LATEST};
  15. docker push ${_IMAGE_BASE_LATEST};
  16. fi
  17. automapSubstitutions: true
  18. - id: prefetch_ce
  19. name: gcr.io/cloud-builders/docker
  20. script: |
  21. #!/usr/bin/env bash
  22. set +e # Ignore pull failures
  23. docker pull ${_IMAGE_TAG_BRANCH}
  24. docker pull ${_IMAGE_TAG_LATEST}
  25. exit 0
  26. automapSubstitutions: true
  27. waitFor:
  28. - '-'
  29. - id: build_community
  30. name: us-east1-docker.pkg.dev/overleaf-ops/ol-docker/cloud-builder
  31. dir: server-ce
  32. args:
  33. - build-community
  34. waitFor:
  35. # do not wait for prefetch_ce, docker buildx will pull it as needed
  36. - build_base
  37. - id: tag_main_latest
  38. name: gcr.io/cloud-builders/docker
  39. script: |
  40. #!/usr/bin/env bash
  41. set -e
  42. if [ $BRANCH_NAME == main ]; then
  43. docker tag ${_IMAGE_TAG} ${_IMAGE_TAG_LATEST};
  44. docker push ${_IMAGE_TAG_LATEST};
  45. fi
  46. automapSubstitutions: true
  47. waitFor:
  48. - build_community
  49. timeout: 3600s
  50. options:
  51. machineType: E2_HIGHCPU_32
  52. env:
  53. - 'BRANCH_NAME=${BRANCH_NAME}'
  54. # docker build
  55. - 'OVERLEAF_BASE_BRANCH=${_IMAGE_BASE_BRANCH}'
  56. - 'OVERLEAF_BASE_LATEST=${_IMAGE_BASE_LATEST}'
  57. - 'OVERLEAF_BASE_TAG=${_IMAGE_BASE}'
  58. - 'OVERLEAF_BRANCH=${_IMAGE_TAG_BRANCH}'
  59. - 'OVERLEAF_LATEST=${_IMAGE_TAG_LATEST}'
  60. - 'OVERLEAF_TAG=${_IMAGE_TAG}'
  61. images:
  62. - '${_IMAGE_BASE}'
  63. - '${_IMAGE_BASE_BRANCH}'
  64. - '${_IMAGE_TAG}'
  65. - '${_IMAGE_TAG_BRANCH}'
  66. substitutions:
  67. _IMAGE_BASE: 'us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf-base:${BRANCH_NAME}-${SHORT_SHA}_${BUILD_ID}'
  68. _IMAGE_BASE_BRANCH: 'us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf-base:${BRANCH_NAME}'
  69. _IMAGE_BASE_LATEST: 'us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf-base:latest'
  70. _IMAGE_TAG_BRANCH: 'us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf:${BRANCH_NAME}'
  71. _IMAGE_TAG_LATEST: 'us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf:latest'
  72. _IMAGE_TAG: 'us-east1-docker.pkg.dev/overleaf-ops/ol-docker/overleaf:${BRANCH_NAME}-${SHORT_SHA}_${BUILD_ID}'
  73. tags:
  74. - 'overleaf-public'
  75. - '${BRANCH_NAME}'
  76. - '${SHORT_SHA}'