Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,3 +54,24 @@ jobs:

- name: Test
run: uv run pytest -q

# plugrl-protocol's probe checker, with this client running the probe
# environment (SPEC.md section 8.1). It works out from each feedback
# what the client did with each action, and drives every scenario:
# basic, a resync, a text frame. Once as a version 1 server, once
# offering reuse-feedback-obs (10.1), which this client then uses.
# Each run takes seconds. One run on 2026-10-01 hung until the job's
# 6-hour limit and left no log (not reproduced on a Linux workstation),
# so a hang now fails within minutes and shows what was still running.
- name: Probe this client against SPEC.md
timeout-minutes: 10
run: |
client=".venv/bin/plugrl-run-env-client probe-v1 --server-host 127.0.0.1 --server-port 8000 --num-envs 3 --num-episodes 1000000"
for features in "" "--features reuse-feedback-obs"; do
echo "::group::plugrl-conformance --probe ${features:-(no features)}"
timeout 240 uv run plugrl-conformance --probe --scenario all --port 8000 \
--steps 12 --horizon 4 --action-dim 3 --action-dtype float64 \
--timeout 60 $features --client "$client" \
|| { rc=$?; echo "plugrl-conformance exited $rc"; ps -ef | grep -i "[p]lugrl"; exit $rc; }
echo "::endgroup::"
done
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ dependencies = [
"websockets>=15.0.1,<16.0.0",
"msgpack>=1.1.1,<2.0.0",
"tyro>=0.9.31,<0.10.0",
"plugrl-protocol @ git+https://github.com/PlugRL/plugrl-protocol.git@4c877bc9929fadbf49fbce8a5cd7d141bb3566a3",
"plugrl-protocol @ git+https://github.com/PlugRL/plugrl-protocol.git@0a76192cc2456ee1136c5cbabe5206ca75e38f98",
# The recorder's PNG snapshots. Its mp4 videos need ffmpeg: the `video`
# extra.
"imageio>=2.37.2,<3.0.0",
Expand Down
4 changes: 2 additions & 2 deletions uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading