summaryrefslogtreecommitdiff
path: root/.gcp/release-docker.yaml
blob: 6a8924a4caa785ccb5294a4ffffa4e93da8c1ab7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
steps:
  # Step 1: Install root dependencies (includes workspaces)
  - name: 'us-west1-docker.pkg.dev/gemini-code-dev/gemini-code-containers/gemini-code-builder'
    id: 'Install Dependencies'
    entrypoint: 'npm'
    args: ['install']

  # Step 4: Authenticate for Docker (so we can push images to the artifact registry)
  - name: 'us-west1-docker.pkg.dev/gemini-code-dev/gemini-code-containers/gemini-code-builder'
    id: 'Authenticate docker'
    entrypoint: 'npm'
    args: ['run', 'auth']

  # Step 5: Build workspace packages
  - name: 'us-west1-docker.pkg.dev/gemini-code-dev/gemini-code-containers/gemini-code-builder'
    id: 'Build packages'
    entrypoint: 'npm'
    args: ['run', 'build:packages']

  # Step 6: Build sandbox container image
  - name: 'us-west1-docker.pkg.dev/gemini-code-dev/gemini-code-containers/gemini-code-builder'
    id: 'Build sandbox Docker image'
    entrypoint: 'bash'
    args:
      - -c
      - |
        if [ "$_OFFICIAL_RELEASE" = "true" ]; then
          export GEMINI_SANDBOX_IMAGE_TAG="${TAG_NAME#v}"
        else
          export GEMINI_SANDBOX_IMAGE_TAG="$SHORT_SHA"
        fi
        npm run build:sandbox:fast
    env:
      - 'GEMINI_SANDBOX=$_CONTAINER_TOOL'

  # Step 7: Publish sandbox container image
  - name: 'us-west1-docker.pkg.dev/gemini-code-dev/gemini-code-containers/gemini-code-builder'
    id: 'Publish sandbox Docker image'
    entrypoint: 'bash'
    args:
      - -c
      - |
        if [ "$_OFFICIAL_RELEASE" = "true" ]; then
          export GEMINI_SANDBOX_IMAGE_TAG="${TAG_NAME#v}"
        else
          export GEMINI_SANDBOX_IMAGE_TAG="$SHORT_SHA"
        fi
        npm run publish:sandbox
    env:
      - 'GEMINI_SANDBOX=$_CONTAINER_TOOL'

options:
  defaultLogsBucketBehavior: REGIONAL_USER_OWNED_BUCKET
  dynamicSubstitutions: true

substitutions:
  _OFFICIAL_RELEASE: 'false'
  _CONTAINER_TOOL: 'docker'