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
+7
-17
@@ -30,24 +30,14 @@ for id in "$@"; do
|
||||
echo "::endgroup::"
|
||||
continue
|
||||
fi
|
||||
payload=$("$gbrgames" boottest-payload "$id")
|
||||
# The node-agent's BootTest with the game's real payload. Steam games start from the runner's download
|
||||
# cache (volumes gbr-steamcache-<app>, kept by RUNNER.md's prune), so Steam isn't asked for the whole
|
||||
# game on every run
|
||||
AGENT_IMAGE="$AGENT_IMAGE" "$gbrgames" boot-test "$id"
|
||||
code=$?
|
||||
if [ $code -eq 3 ]; then
|
||||
skipped+=("$id")
|
||||
echo "::endgroup::"
|
||||
continue
|
||||
elif [ $code -ne 0 ]; then
|
||||
failed+=("$id")
|
||||
echo "::endgroup::"
|
||||
continue
|
||||
fi
|
||||
|
||||
docker run --rm -i \
|
||||
-v /var/run/docker.sock:/var/run/docker.sock \
|
||||
--entrypoint java "$AGENT_IMAGE" \
|
||||
-Dloader.main=com.gbreed.gbr.nodeagent.BootTest -cp app.jar \
|
||||
org.springframework.boot.loader.launch.PropertiesLauncher <<< "$payload"
|
||||
if [ $? -eq 0 ]; then passed+=("$id"); else failed+=("$id"); fi
|
||||
if [ $code -eq 3 ]; then skipped+=("$id")
|
||||
elif [ $code -eq 0 ]; then passed+=("$id")
|
||||
else failed+=("$id"); fi
|
||||
echo "::endgroup::"
|
||||
done
|
||||
|
||||
|
||||
Reference in new issue
Block a user