diff --git a/.gcp/release-docker.yaml b/.gcp/release-docker.yaml index 548e3cd38f..27dd032919 100644 --- a/.gcp/release-docker.yaml +++ b/.gcp/release-docker.yaml @@ -44,8 +44,17 @@ steps: args: - -c - | - export GEMINI_SANDBOX_IMAGE_TAG=$(cat /workspace/image_tag.txt) - echo "Using Docker image tag for build: $GEMINI_SANDBOX_IMAGE_TAG" + export GEMINI_SANDBOX_IMAGE_TAG="$SHORT_SHA" # Default to SHA + if [[ "$TAG_NAME" == *"-nightly"* ]]; then + echo "Nightly release detected." + export GEMINI_SANDBOX_IMAGE_TAG="${TAG_NAME#v}" + elif [[ "$TAG_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Official release detected." + export GEMINI_SANDBOX_IMAGE_TAG="${TAG_NAME#v}" + else + echo "Development/RC release detected. Using commit SHA as tag." + fi + echo "Using Docker image tag: $GEMINI_SANDBOX_IMAGE_TAG" npm run build:sandbox:fast env: - 'GEMINI_SANDBOX=$_CONTAINER_TOOL' @@ -57,8 +66,17 @@ steps: args: - -c - | - export GEMINI_SANDBOX_IMAGE_TAG=$(cat /workspace/image_tag.txt) - echo "Using Docker image tag for publish: $GEMINI_SANDBOX_IMAGE_TAG" + export GEMINI_SANDBOX_IMAGE_TAG="$SHORT_SHA" # Default to SHA + if [[ "$TAG_NAME" == *"-nightly"* ]]; then + echo "Nightly release detected." + export GEMINI_SANDBOX_IMAGE_TAG="${TAG_NAME#v}" + elif [[ "$TAG_NAME" =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]]; then + echo "Official release detected." + export GEMINI_SANDBOX_IMAGE_TAG="${TAG_NAME#v}" + else + echo "Development/RC release detected. Using commit SHA as tag." + fi + echo "Using Docker image tag: $GEMINI_SANDBOX_IMAGE_TAG" npm run publish:sandbox env: - 'GEMINI_SANDBOX=$_CONTAINER_TOOL' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index d32df5d75e..22c65f4f38 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -106,6 +106,14 @@ jobs: npm pkg set version=${{ steps.version.outputs.RELEASE_VERSION }} --workspace=@google/gemini-cli-core npm install + - name: Set package versions for nightly release + if: steps.version.outputs.NPM_TAG == 'nightly' + run: | + npm pkg set version=${{ steps.version.outputs.RELEASE_VERSION }} + npm pkg set version=${{ steps.version.outputs.RELEASE_VERSION }} --workspace=@google/gemini-cli + npm pkg set version=${{ steps.version.outputs.RELEASE_VERSION }} --workspace=@google/gemini-cli-core + npm install + - name: Commit package versions id: commit_step run: | diff --git a/package.json b/package.json index 5433f17a7d..13ff9184c8 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "publish:release": "npm run prepare:package && npm run build:packages && npm run build:sandbox:fast && npm run publish:sandbox && npm run publish:npm", "prepublishOnly": "node scripts/check-versions.js && node scripts/prepublish.js", "release:version": "node scripts/version.js", - "tag:release:nightly": "TAG_NAME=\"v$(node -p \"require('./package.json').version\")+nightly.$(date -u +%d%m%y).$(git rev-parse --short HEAD)\"; git tag -a $TAG_NAME -m '' && git push origin $TAG_NAME", + "tag:release:nightly": "TAG_NAME=\"v$(node -p \"require('./package.json').version\")-nightly.$(date -u +%Y%m%d).$(git rev-parse --short HEAD)\"; git tag -a $TAG_NAME -m '' && git push origin $TAG_NAME", "check:versions": "node scripts/check-versions.js", "publish:actions-release": "npm run prepare:package && npm run build:packages && npm run publish:npm" },