cloudbuild.public.yaml 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  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}"