feat(boot-test): CI boot tests use the Steam download cache, updated once a day
CI deployed every Steam game from scratch on each run, downloading the whole game from Steam each time. scripts/boot-test.sh now runs the new `gbrgames boot-test ID`, the builder's own deploy path: the same payload and node-agent BootTest, but Steam games start from the cache volume (gbr-steamcache-<app>, kept by RUNNER.md's prune). The cache is updated at most once a day (a timestamp in the cache volume, not copied into servers), so a repeat run within a day doesn't ask Steam for an update at all; the node-agent's own install still checks the files and fetches anything newer. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
143a074c7d
commit
6baf4796fa
5 files changed
+93
-22
No files matched your search
@@ -1,6 +1,7 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"time"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"os"
|
||||
@@ -121,3 +122,13 @@ func TestBootTestPayloadLeavesOutUnboundPorts(t *testing.T) {
|
||||
t.Errorf("expectPorts %v", ports)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSteamCacheStampAge(t *testing.T) {
|
||||
now := time.Unix(1_800_000_000, 0)
|
||||
if !stampWithin("1799990000\n", now, 24*time.Hour) {
|
||||
t.Error("updated 10000s ago should be fresh")
|
||||
}
|
||||
if stampWithin("1700000000", now, 24*time.Hour) || stampWithin("", now, 24*time.Hour) || stampWithin("x", now, 24*time.Hour) {
|
||||
t.Error("old, missing or garbled stamps are not fresh")
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user