189 Commits

Author SHA1 Message Date
E M
2d7aca1054
wait for pvcs to be deleted before destroying the cluster 2026-05-28 15:41:29 +10:00
E M
17a1c556cc
use on demand VMs instead of spot instances
Attempting to fix a lot of errors in the console relating to spot instances being unschedulable.
2026-05-28 15:41:29 +10:00
E M
f84fd7f25c
do not generate test summary if previous steps were skipped/cancelled 2026-05-28 15:41:29 +10:00
E M
5203cf93e4
fix error in "print storage logs url" step 2026-05-28 15:41:29 +10:00
E M
b4180c471b
delete terraform state lock
When the workflow is cancelled, either manually, or automatically from a long-running step (timeout), the terraform state lock had to be manually deleted, or else the next workflow run would never succeed. This change ensures that the state lock file is always deleted after each run.
2026-05-28 15:41:28 +10:00
E M
0e46c9f684
generate test summary to show in workflow summary 2026-05-28 15:41:28 +10:00
E M
37f14a6821
Move from a single zone to multiple zones to increase spot instance availability 2026-05-28 15:41:28 +10:00
E M
8fccef9fb2
Reduce nodes in pool from 10 to 5
Reduces resource contention. 2 parallel tests x 10 containers => 2-3 nodes needed, 5 gives room
2026-05-28 15:41:28 +10:00
E M
c1855fb13a
put cluster name in an env var 2026-05-28 15:41:28 +10:00
E M
10ca94261b
avoid sleeping a full 60s to wait for job completion
Instead, wait for a job condition using kubectl wait
2026-05-28 15:41:28 +10:00
E M
3679040178
try to ensure the log stream survives long silences 2026-05-28 15:41:28 +10:00
E M
e58c8f93c7
add starttime param to logging URL 2026-05-28 15:41:28 +10:00
E M
f72dbb9c9d
cap boot drive size to 20gb (default is 100gb) to avoid resource exhaustion 2026-05-28 15:41:28 +10:00
E M
b04672ebce
Add a "Delete PVCs before cluster teardown" step to the workflow to prevent future PVC leaks 2026-05-28 15:41:28 +10:00
E M
eac099b819
try zone a one more time 2026-05-28 15:41:28 +10:00
E M
2c627c9ed2
hanging at 64% deploying again, trying zone c 2026-05-28 15:41:28 +10:00
E M
c520e79383
fix encoding of logging url 2026-05-28 15:41:27 +10:00
E M
be582eca17
move back to europe-west4-b zone due to exhausted quota 2026-05-28 15:41:27 +10:00
E M
82630eead6
refactor: remove allow-tests-pods node label from GKE node pools
The `allow-tests-pods` boolean label was used by the test framework to steer pods away from runner nodes via a node affinity exclusion. Pod scheduling now uses the existing `workload-type` label directly as a nodeSelector, making the boolean label redundant.
2026-05-28 15:41:27 +10:00
E M
68c319863a
Logging URL filters by RUNID instead of namespace/container name 2026-05-28 15:41:27 +10:00
E M
4f86040c2c
fix: avoid building in parallel
Avoids "file in use" errors while building in CI
2026-05-28 15:41:27 +10:00
E M
db5eada055
remove unneeded priority request 2026-05-28 15:41:27 +10:00
E M
fd5c29db31
set cluster creation timeout to 20mins
temporary timeout so we can see if the latest commits work without waiting too long between tries
2026-05-28 15:41:27 +10:00
E M
97750a47ca
Try changing zones in case the cluster deployment stall is due to a zonal unavailability. 2026-05-28 15:41:27 +10:00
E M
5616b50bfb
change monitoring to default service
Cluster deployment seems to be stalling because the metrics service is not started. So returning it to default to see if that fixes the issue.
2026-05-28 15:41:27 +10:00
E M
7d6701d444
inline node pools so they can be created in parallel
speeds up cluster creation
2026-05-28 15:41:27 +10:00
E M
bbc4b1caf3
remove unneeded setup 2026-05-28 15:41:27 +10:00
E M
898010d58f
move state bucket from gh secret to variable 2026-05-28 15:41:27 +10:00
E M
77e8d6d64a
create the terraform cache dir first 2026-05-28 15:41:26 +10:00
E M
0e298bddbd
add debug output 2026-05-28 15:41:26 +10:00
E M
48b444d8fe
change script so it doesn't non-zero exit when no pods exist 2026-05-28 15:41:26 +10:00
E M
7a9b93a981
fix terraform cache, should remove warning 2026-05-28 15:41:26 +10:00
E M
d4d52c008a
fix polling script 2026-05-28 15:41:26 +10:00
E M
3ed677c9d1
check pod phase instead 2026-05-28 15:41:26 +10:00
E M
cd972ef9bb
refactor polling loop 2026-05-28 15:41:26 +10:00
E M
1696aa83a9
temp comment out releasee workflow 2026-05-28 15:41:26 +10:00
E M
a901e1495c
temp comment out build workflow 2026-05-28 15:41:26 +10:00
E M
7f782cf6a1
temp comment out build to make testing ci changes faster 2026-05-28 15:41:26 +10:00
E M
dabdc6d3e9
Keeps timing out waiting for start, so try polling loop 2026-05-28 15:41:26 +10:00
E M
3cb3a176b2
wait for runners-ci node to be ready before continuing workflow 2026-05-28 15:41:26 +10:00
E M
ea5110246c
reorder wait command flags 2026-05-28 15:41:25 +10:00
E M
4732b44e36
Show storage node logs URL in workflow summary 2026-05-28 15:41:25 +10:00
E M
a9f878effb
move RELEASE_TESTS_GCP_PROJECT from secret to var for logging URL 2026-05-28 15:41:25 +10:00
E M
ba49d8b223
bump kubectl to latest 2026-05-28 15:41:25 +10:00
E M
ca138cf2bf
change pod condition to wait for (create) 2026-05-28 15:41:25 +10:00
E M
c93b8c0ec2
reusable workflow outputs can silently fail to propagate in certain conditions
Now, STORAGEDOCKERIMAGE is:
- logosstorage/logos-storage-nim:latest-dist-tests for workflow_dispatch on a branch
- logosstorage/logos-storage-nim:v0.1.8-dist-tests for a v0.1.8 tag push
2026-05-28 15:41:25 +10:00
E M
159e1def65
wait for an existing pod before completing step 2026-05-28 15:41:25 +10:00
E M
bc7a277d9b
chore: reduce GKE release test cluster provisioning time and cost
- Configure runners-ci node pool inline in the cluster resource instead
  of using remove_default_node_pool=true, eliminating the
  provision-then-delete cycle that added ~5 min to terraform apply
- Remove the separate infra pool; runners-ci is now the only pool on
  the critical path of cluster creation
- Set tests-pods pool min_node_count=0 so no node is provisioned at
  apply time — nodes scale up only when test pods are scheduled
- Enable spot instances on the tests-pods pool for ~60-91% cost saving
- Add 60 min job timeout to release-tests to bound hung cluster cost
- Add Terraform plugin cache keyed on the lock file to skip provider
  re-downloads on subsequent runs (~30-60s saved)
- Install gke-gcloud-auth-plugin via setup-gcloud to fix kubectl auth

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-28 15:41:25 +10:00
E M
cf6d93f52c
chore: use zonal GKE cluster to reduce provisioning time
Switch cluster and all node pools from regional to zonal (`europe-west4-b`) to avoid the 40+ minute provisioning time of a regional (multi-zone) cluster. Adds a `zone` variable to the GKE module and cluster config, and updates the workflow's `gcloud get-credentials` call to use `--zone` instead of `--region`.
2026-05-28 15:41:25 +10:00
E M
2e82a4a15c
rename cluster to match previous change 2026-05-28 15:41:25 +10:00