Files
gemini-cli/.gcp/release-docker.yml
T

72 lines
2.5 KiB
YAML
Raw Normal View History

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 2: 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 3: 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 4: Determine Docker Image Tag
- name: 'us-west1-docker.pkg.dev/gemini-code-dev/gemini-code-containers/gemini-code-builder'
2025-07-04 11:30:29 -05:00
id: 'Determine Docker Image Tag'
entrypoint: 'bash'
args:
2025-08-12 23:24:39 -04:00
- '-c'
- |-
SHELL_TAG_NAME="$TAG_NAME"
2025-07-04 11:30:29 -05:00
FINAL_TAG="$SHORT_SHA" # Default to SHA
2025-08-26 14:55:06 -04:00
if [[ "$$SHELL_TAG_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+(-[a-zA-Z0-9.-]+)?$ ]]; then
echo "Release detected."
FINAL_TAG="$${SHELL_TAG_NAME#v}"
else
2025-08-26 14:55:06 -04:00
echo "Development release detected. Using commit SHA as tag."
fi
2025-07-04 18:32:58 -07:00
echo "Determined image tag: $$FINAL_TAG"
echo "$$FINAL_TAG" > /workspace/image_tag.txt
2025-07-04 11:30:29 -05:00
# Step 5: Build sandbox container image
2025-07-04 11:30:29 -05:00
- name: 'us-west1-docker.pkg.dev/gemini-code-dev/gemini-code-containers/gemini-code-builder'
id: 'Build sandbox Docker image'
entrypoint: 'bash'
args:
2025-08-12 23:24:39 -04:00
- '-c'
- |-
2025-07-04 18:32:58 -07:00
export GEMINI_SANDBOX_IMAGE_TAG=$$(cat /workspace/image_tag.txt)
echo "Using Docker image tag for build: $$GEMINI_SANDBOX_IMAGE_TAG"
npm run build:sandbox -- --output-file /workspace/final_image_uri.txt
env:
- 'GEMINI_SANDBOX=$_CONTAINER_TOOL'
2025-07-04 11:30:29 -05:00
# Step 8: 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:
2025-08-12 23:24:39 -04:00
- '-c'
- |-
2025-07-07 16:36:51 -07:00
set -e
FINAL_IMAGE_URI=$$(cat /workspace/final_image_uri.txt)
2025-07-07 16:36:51 -07:00
echo "Pushing sandbox image: $${FINAL_IMAGE_URI}"
$_CONTAINER_TOOL push "$${FINAL_IMAGE_URI}"
env:
- 'GEMINI_SANDBOX=$_CONTAINER_TOOL'
options:
2025-08-12 23:24:39 -04:00
defaultLogsBucketBehavior: 'REGIONAL_USER_OWNED_BUCKET'
dynamicSubstitutions: true
substitutions:
_CONTAINER_TOOL: 'docker'