Skip to content

Commit 8d20b52

Browse files
Release candidate: v1.89.0 (#5561)
2 parents a6d8861 + ac96a6c commit 8d20b52

222 files changed

Lines changed: 5741 additions & 654 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# Copyright 2026 "Google LLC"
2+
#
3+
# Licensed under the Apache License, Version 2.0 (the "License");
4+
# you may not use this file except in compliance with the License.
5+
# You may obtain a copy of the License at
6+
#
7+
# http://www.apache.org/licenses/LICENSE-2.0
8+
#
9+
# Unless required by applicable law or agreed to in writing, software
10+
# distributed under the License is distributed on an "AS IS" BASIS,
11+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12+
# See the License for the specific language governing permissions and
13+
# limitations under the License.
14+
15+
name: Cache Release Metadata for Telemetry
16+
17+
on:
18+
push:
19+
tags:
20+
- 'v*' # Triggers on any tag starting with 'v'
21+
22+
jobs:
23+
update-firestore-cache:
24+
runs-on: ubuntu-latest
25+
permissions:
26+
contents: 'read'
27+
id-token: 'write' # Required for Workload Identity Federation
28+
29+
steps:
30+
- name: Checkout Repository
31+
uses: actions/checkout@v4
32+
33+
- name: Setup Go
34+
uses: actions/setup-go@v5
35+
with:
36+
go-version-file: 'go.mod'
37+
38+
- name: Authenticate to Google Cloud
39+
uses: google-github-actions/auth@v2
40+
with:
41+
workload_identity_provider: 'projects/266450182917/locations/global/workloadIdentityPools/github-pool/providers/github-provider'
42+
service_account: 'cache-metadata@hpc-toolkit-gsc.iam.gserviceaccount.com'
43+
44+
- name: Extract Tag Name
45+
id: extract_tag
46+
run: echo "VERSION=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV
47+
48+
- name: Populate Firestore Cache (with up to 3 retries)
49+
run: |
50+
for i in 1 2 3; do
51+
echo "Attempt $i..."
52+
if go run tools/cache_metadata/main.go -version ${{ env.VERSION }}; then
53+
echo "Success!"
54+
exit 0
55+
fi
56+
57+
echo "Attempt $i failed."
58+
if [ $i -lt 3 ]; then
59+
echo "Waiting 10 seconds before retrying..."
60+
sleep 10
61+
fi
62+
done
63+
64+
echo "All 3 attempts failed. Aborting."
65+
exit 1

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ endif
3333

3434
gcluster: warn-go-version warn-terraform-version warn-packer-version $(shell find ./cmd ./pkg gcluster.go -type f)
3535
$(info **************** building gcluster ************************)
36-
@go build -ldflags="-X 'main.gitTagVersion=$(GIT_TAG_VERSION)' -X 'main.gitBranch=$(GIT_BRANCH)' -X 'main.gitCommitInfo=$(GIT_COMMIT_INFO)' -X 'main.gitCommitHash=$(GIT_COMMIT_HASH)' -X 'main.gitInitialHash=$(GIT_INITIAL_HASH)'" gcluster.go
36+
@go build -ldflags="-X 'main.gitTagVersion=$(GIT_TAG_VERSION)' -X 'main.gitBranch=$(GIT_BRANCH)' -X 'main.gitCommitInfo=$(GIT_COMMIT_INFO)' -X 'main.gitCommitHash=$(GIT_COMMIT_HASH)' -X 'main.gitInitialHash=$(GIT_INITIAL_HASH)' -X 'main.gitIsOfficial=$(GIT_IS_OFFICIAL)'" gcluster.go
3737
@ln -sf gcluster ghpc
3838

3939
ghpc: gcluster

README.md

Lines changed: 19 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,9 @@ The pre-built bundles are compiled for Linux and macOS execution environments an
5858

5959
1. Download and extract the bundle:
6060

61-
> **_NOTE:_** The binary is available starting with version 1.82.0 [Only supports x86/amd64 arch]. Multi-architecture builds (amd64 and arm64) are available starting with version 1.85.0.
61+
> **_NOTE:_** The binary is available starting with version 1.82.0 [Only supports x86/amd64 arch]. Multi-architecture builds (amd64 and arm64) are available starting with version 1.85.0. Tarball bundles (.tgz) are supported starting with version 1.89.0.
6262
63-
For versions v1.85.0 and newer (Multi-architecture):
63+
For versions v1.85.0 and newer (Multi-architecture Zip):
6464

6565
```shell
6666
# Find all available releases at: https://github.com/GoogleCloudPlatform/cluster-toolkit/releases
@@ -71,9 +71,21 @@ The pre-built bundles are compiled for Linux and macOS execution environments an
7171
ARCH="amd64"
7272
# Download and extract the platform-specific bundle
7373
curl -LO https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/download/${TAG}/gcluster_bundle_${OS}_${ARCH}.zip
74-
unzip gcluster_bundle_${OS}_${ARCH}.zip -d gcluster-bundle/
75-
cd gcluster-bundle
76-
chmod +x gcluster
74+
unzip gcluster_bundle_${OS}_${ARCH}.zip -d cluster-toolkit/
75+
cd cluster-toolkit
76+
```
77+
78+
For versions v1.89.0 and newer (Multi-architecture Tarball):
79+
80+
```shell
81+
# Find all available releases at: https://github.com/GoogleCloudPlatform/cluster-toolkit/releases
82+
# Set the desired version TAG (e.g., v1.89.0)
83+
TAG=vX.Y.Z
84+
# Set your OS (linux or mac) and Architecture (amd64 or arm64)
85+
OS="linux"
86+
ARCH="amd64"
87+
# Download and extract the platform-specific bundle in a single step
88+
mkdir -p cluster-toolkit && curl -L https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/download/${TAG}/gcluster_bundle_${OS}_${ARCH}.tgz | tar -xz -C cluster-toolkit && cd cluster-toolkit
7789
```
7890

7991
For versions v1.82.0 through v1.84.0:
@@ -86,9 +98,8 @@ The pre-built bundles are compiled for Linux and macOS execution environments an
8698
OS="linux"
8799
# Download and extract
88100
curl -LO https://github.com/GoogleCloudPlatform/cluster-toolkit/releases/download/${TAG}/gcluster_bundle_${OS}.zip
89-
unzip gcluster_bundle_${OS}.zip -d gcluster-bundle/
90-
cd gcluster-bundle
91-
chmod +x gcluster
101+
unzip gcluster_bundle_${OS}.zip -d cluster-toolkit/
102+
cd cluster-toolkit
92103
```
93104

94105
2. Verify the Installation:

cluster-toolkit-writers.json

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,5 +73,8 @@
7373
},
7474
{
7575
"login": "AdarshK15"
76+
},
77+
{
78+
"login": "rahimkhan19"
7679
}
7780
]

cmd/README.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ gcluster [SUBCOMMAND]
1919
* [`expand`](#gcluster-expand): Expand the blueprint without creating a new deployment
2020
* [`completion`](#gcluster-completion): Generate completion script
2121
* [`help`](#gcluster-help): Display help information for any command
22+
* [`destroy`](#gcluster-destroy): Destroys all resources in a Toolkit deployment directory
2223

2324
### Flags - gcluster
2425

@@ -41,6 +42,14 @@ gcluster --version
4142
gcluster deploy (<DEPLOYMENT_DIRECTORY> | <BLUEPRINT_FILE>) [flags]
4243
```
4344

45+
### Flags - deploy
46+
47+
* `--only <strings>`: Only apply to groups with the given names (comma-separated).
48+
* `--skip <strings>`: Skip groups with the given names (comma-separated).
49+
* `--auto-approve`: Automatically approve proposed changes without prompting.
50+
51+
Refer to the [Selective Deployment and Exclusion Guide](https://github.com/GoogleCloudPlatform/cluster-toolkit/blob/main/examples/machine-learning/README.md#selective-deployment-and-destruction-using---only-and---skip-flags) for more information on managing or skipping specific group deployments.
52+
4453
## gcluster create
4554

4655
`gcluster create` creates a deployment directory. This deployment directory is used to deploy a cluster on Google Cloud.
@@ -111,3 +120,21 @@ details for a specific command, for example `expand`, run the following command:
111120
```bash
112121
gcluster help expand
113122
```
123+
124+
## gcluster destroy
125+
126+
`gcluster destroy` destroys all resources in a Toolkit deployment directory.
127+
128+
### Usage - destroy
129+
130+
```bash
131+
gcluster destroy DEPLOYMENT_DIRECTORY [flags]
132+
```
133+
134+
### Flags - destroy
135+
136+
* `--only <strings>`: Only destroy groups with the given names (comma-separated).
137+
* `--skip <strings>`: Skip destroying groups with the given names (comma-separated).
138+
* `--robust`: Perform a robust destroy, including firewall rule cleanup.
139+
140+
Refer to the [Selective Deployment and Exclusion Guide](https://github.com/GoogleCloudPlatform/cluster-toolkit/blob/main/examples/machine-learning/README.md#selective-deployment-and-destruction-using---only-and---skip-flags) for more information on managing or skipping specific group destruction.

cmd/root.go

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ var (
3939
GitCommitInfo string
4040
GitCommitHash string
4141
GitInitialHash string
42+
GitIsOfficial string
4243
)
4344

4445
var (
@@ -76,7 +77,11 @@ func Execute() error {
7677

7778
if len(GitCommitInfo) > 0 {
7879
if len(GitTagVersion) == 0 {
79-
GitTagVersion = "- not built from official release"
80+
if GitIsOfficial == "true" {
81+
GitTagVersion = "(official binary distribution)"
82+
} else {
83+
GitTagVersion = "- not built from official release"
84+
}
8085
}
8186
if len(GitBranch) == 0 {
8287
GitBranch = "detached HEAD"

community/examples/xpk-n2-filestore/kueue-xpk-configuration.yaml.tftpl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
apiVersion: kueue.x-k8s.io/v1beta1
1+
apiVersion: kueue.x-k8s.io/v1beta2
22
kind: ResourceFlavor
33
metadata:
44
name: "1x${machine_type}-${vms_per_slice}"
55
spec: {}
66
---
7-
apiVersion: kueue.x-k8s.io/v1beta1
7+
apiVersion: kueue.x-k8s.io/v1beta2
88
kind: ClusterQueue
99
metadata:
1010
name: cluster-queue
@@ -18,7 +18,7 @@ spec:
1818
- name: "cpu"
1919
nominalQuota: ${cpu_count}
2020
---
21-
apiVersion: kueue.x-k8s.io/v1beta1
21+
apiVersion: kueue.x-k8s.io/v1beta2
2222
kind: LocalQueue
2323
metadata:
2424
name: multislice-queue

community/examples/xpk-n2-filestore/xpk-n2-filestore.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ vars:
3131
slice_vm_count: 2
3232
slice_cpu_count: 64
3333
xpk_version: v0.8.0
34-
kueue_version: v0.11.1
34+
kueue_version: v0.17.1
3535
jobset_version: 0.10.1
3636
kjob_version: f775609365df47bdc3e7c10290d8efae7f512464
3737

community/modules/compute/gke-nodeset/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ terraform {
2222
}
2323
}
2424
provider_meta "google" {
25-
module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.88.0"
25+
module_name = "blueprints/terraform/hpc-toolkit:gke-nodeset/v1.89.0"
2626
}
2727
}

community/modules/compute/gke-partition/versions.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,6 @@ terraform {
2222
}
2323
}
2424
provider_meta "google" {
25-
module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.88.0"
25+
module_name = "blueprints/terraform/hpc-toolkit:gke-partition/v1.89.0"
2626
}
2727
}

0 commit comments

Comments
 (0)