Skip to content

Commit 1a47125

Browse files
feat(ci): apply dynamic commit selection based on KOKORO_BUILD_INITIATOR across all remaining Kokoro CI suites (#4863)
* feat(ci): apply dynamic commit selection based on KOKORO_BUILD_INITIATOR across all remaining Kokoro CI suites Ensure scheduled daily Kokoro runs select yesterday's last commit while manual runs select the latest commit of the target branch. * feat(ci): propagate KOKORO_BUILD_INITIATOR to gke_machine_type_test pod execution runner * Update perfmetrics/scripts/continuous_test/gcp_ubuntu/micro_benchmarks/build.sh Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com> --------- Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
1 parent d8f0396 commit 1a47125

7 files changed

Lines changed: 63 additions & 5 deletions

File tree

perfmetrics/scripts/continuous_test/gcp_ubuntu/micro_benchmarks/build.sh

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,15 @@ log() {
2929
run_script_on_vm() {
3030
log "Running benchmark script on VM with clean setup..."
3131

32+
BRANCH_NAME="${KOKORO_GITHUB_PULL_REQUEST_TARGET_BRANCH:-master}"
33+
if git branch --format='%(refname:short)' | grep -v 'HEAD' | head -n 1 > /dev/null 2>&1; then
34+
BRANCH_NAME=$(git branch --format='%(refname:short)' | grep -v 'HEAD' | head -n 1)
35+
fi
36+
KOKORO_BUILD_INITIATOR="${KOKORO_BUILD_INITIATOR:-}"
37+
3238
sudo gcloud compute ssh "$VM_NAME" --zone "$ZONE" --internal-ip --command "
39+
BRANCH_NAME=\"$BRANCH_NAME\"
40+
KOKORO_BUILD_INITIATOR=\"$KOKORO_BUILD_INITIATOR\"
3341
set -euxo pipefail
3442
3543
MOUNTED_DIR=\"$MOUNTED_DIR\"
@@ -50,9 +58,14 @@ run_script_on_vm() {
5058
5159
# Clone fresh repo
5260
mkdir -p ~/github
53-
git clone \"\$GCSFUSE_REPO\" ~/github/gcsfuse
61+
git clone -b \"\$BRANCH_NAME\" \"\$GCSFUSE_REPO\" ~/github/gcsfuse
5462
cd ~/github/gcsfuse
55-
commitId=\$(git log --before='yesterday 23:59:59' --max-count=1 --pretty=%H)
63+
if [[ \"\$KOKORO_BUILD_INITIATOR\" == \"kokoro\" ]]; then
64+
commitId=\$(git log --before='yesterday 23:59:59' --max-count=1 --pretty=%H)
65+
else
66+
commitId=\$(git log -n 1 --pretty=%H)
67+
fi
68+
echo \"Running microbenchmark on branch: \$BRANCH_NAME at commit ID: \$commitId\"
5669
git checkout \$commitId
5770
5871
# Run benchmark

perfmetrics/scripts/continuous_test/gcp_ubuntu/periodic_experiments/build.sh

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,14 @@ fi
6060
# Create string of config file content for fetching data from big query table.
6161
CONFIG_FILE_FLAGS_COMPRESSED_JSON=$(echo "$CONFIG_FILE_FLAGS_JSON" | jq -c .)
6262

63-
echo "Building and installing gcsfuse on branch: " $BRANCH
64-
./perfmetrics/scripts/build_and_install_gcsfuse.sh $BRANCH
63+
git checkout "$BRANCH"
64+
if [[ "${KOKORO_BUILD_INITIATOR:-}" == "kokoro" ]]; then
65+
commitId=$(git log --before='yesterday 23:59:59' --max-count=1 --pretty=%H)
66+
else
67+
commitId=$(git log -n 1 --pretty=%H)
68+
fi
69+
echo "Building and installing gcsfuse on branch: $BRANCH at commit ID: $commitId"
70+
./perfmetrics/scripts/build_and_install_gcsfuse.sh "$commitId"
6571

6672
cd "./perfmetrics/scripts/"
6773
export PYTHONPATH="./"

perfmetrics/scripts/continuous_test/gke/common/utils.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -576,12 +576,33 @@ async def build_gcsfuse_image(project_id, branch, temp_dir, staging_version):
576576
await run_command_async([
577577
"git",
578578
"clone",
579-
"--depth=1",
580579
"-b",
581580
branch,
582581
"https://github.com/GoogleCloudPlatform/gcsfuse.git",
583582
gcsfuse_dir,
584583
])
584+
initiator = os.environ.get("KOKORO_BUILD_INITIATOR", "")
585+
if initiator == "kokoro":
586+
stdout, _, _ = await run_command_async(
587+
[
588+
"git",
589+
"log",
590+
"--before=yesterday 23:59:59",
591+
"--max-count=1",
592+
"--pretty=%H",
593+
],
594+
cwd=gcsfuse_dir,
595+
)
596+
else:
597+
stdout, _, _ = await run_command_async(
598+
["git", "log", "-n", "1", "--pretty=%H"], cwd=gcsfuse_dir
599+
)
600+
commit_id = stdout.strip()
601+
print(
602+
f"Building GCSFuse CSI image at commit ID: {commit_id} (initiator:"
603+
f" {initiator})"
604+
)
605+
await run_command_async(["git", "checkout", commit_id], cwd=gcsfuse_dir)
585606
build_cmd = [
586607
"make",
587608
"build-csi",

perfmetrics/scripts/continuous_test/gke/machine_type_test/pod_tpu.yaml.template

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@ spec:
2323
value: "$gcsfuse_branch"
2424
- name: BUCKET_NAME
2525
value: "$bucket_name"
26+
- name: KOKORO_BUILD_INITIATOR
27+
value: "$kokoro_build_initiator"
2628
command: ["/bin/bash", "/scripts/run_test.sh"]
2729
volumeMounts:
2830
- name: data-vol

perfmetrics/scripts/continuous_test/gke/machine_type_test/run.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -179,6 +179,7 @@ async def execute_test_workload(
179179
staging_version=staging_version,
180180
gcsfuse_branch=gcsfuse_branch,
181181
machine_type=machine_type,
182+
kokoro_build_initiator=os.environ.get("KOKORO_BUILD_INITIATOR", ""),
182183
)
183184
# Update the pod name in the manifest content dynamically
184185
manifest = manifest.replace(

perfmetrics/scripts/continuous_test/gke/machine_type_test/run_test.sh

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,13 @@ apt-get update && apt-get install -y wget git build-essential ca-certificates fu
2020
echo "Step 2: Cloning GCSFuse repo..."
2121
git clone -b "$GCSFUSE_BRANCH" https://github.com/GoogleCloudPlatform/gcsfuse.git
2222
cd gcsfuse
23+
if [[ "${KOKORO_BUILD_INITIATOR:-}" == "kokoro" ]]; then
24+
commitId=$(git log --before='yesterday 23:59:59' --max-count=1 --pretty=%H)
25+
else
26+
commitId=$(git log -n 1 --pretty=%H)
27+
fi
28+
echo "Checking out commit ID: $commitId (initiator: ${KOKORO_BUILD_INITIATOR:-})"
29+
git checkout "$commitId"
2330

2431
GO_VERSION=$(cat .go-version | tr -d '[:space:]')
2532
if [[ ! "$GO_VERSION" =~ ^[0-9]+\.[0-9]+\.[0-9]+$ ]]; then

perfmetrics/scripts/ml_tests/checkpoint/Jax/run_checkpoints.sh

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,14 @@ export PATH=$PATH:/usr/local/go/bin
3131

3232
# Build gcsfuse.
3333
cd "${KOKORO_ARTIFACTS_DIR}/github/gcsfuse"
34+
if [[ "${KOKORO_BUILD_INITIATOR:-}" == "kokoro" ]]; then
35+
commitId=$(git log --before='yesterday 23:59:59' --max-count=1 --pretty=%H)
36+
else
37+
commitId=$(git log -n 1 --pretty=%H)
38+
fi
39+
echo "Checking out commit ID: ${commitId}"
40+
git checkout "$commitId"
41+
3442
# Install latest gcloud version for compatability with HNS bucket.
3543
./perfmetrics/scripts/install_latest_gcloud.sh
3644
export PATH="/usr/local/google-cloud-sdk/bin:$PATH"

0 commit comments

Comments
 (0)