diff --git a/.github/workflows/networking-v2-selfhosted.yml b/.github/workflows/networking-v2-selfhosted.yml new file mode 100644 index 0000000..8637bb7 --- /dev/null +++ b/.github/workflows/networking-v2-selfhosted.yml @@ -0,0 +1,66 @@ +name: Networking V2 Self-Hosted Gate + +on: + push: + paths: + - "server/packet_codec.py" + - "server/tcp_transport.py" + - "server/gns_transport.py" + - "server/gns_gameplay_adapter.py" + - "server/snapshot_sequence.py" + - "server/transport_policy.py" + - "server/tests/test_packet_codec.py" + - "server/tests/test_tcp_transport.py" + - "server/tests/test_gns_transport.py" + - "server/tests/test_gns_gameplay_adapter.py" + - "server/tests/test_snapshot_sequence.py" + - "server/tests/test_transport_policy.py" + - ".github/workflows/networking-v2-selfhosted.yml" + pull_request: + paths: + - "server/packet_codec.py" + - "server/tcp_transport.py" + - "server/gns_transport.py" + - "server/gns_gameplay_adapter.py" + - "server/snapshot_sequence.py" + - "server/transport_policy.py" + - "server/tests/test_packet_codec.py" + - "server/tests/test_tcp_transport.py" + - "server/tests/test_gns_transport.py" + - "server/tests/test_gns_gameplay_adapter.py" + - "server/tests/test_snapshot_sequence.py" + - "server/tests/test_transport_policy.py" + - ".github/workflows/networking-v2-selfhosted.yml" + +jobs: + transport-modules: + name: Transport modules + runs-on: [self-hosted, Linux, X64] + defaults: + run: + working-directory: server + steps: + - uses: actions/checkout@v4 + + - name: Report Python + run: python3 --version + + - name: Byte compile transport modules + run: | + python3 -m compileall -q \ + packet_codec.py \ + tcp_transport.py \ + gns_transport.py \ + gns_gameplay_adapter.py \ + snapshot_sequence.py \ + transport_policy.py + + - name: Run transport regression tests + run: | + python3 -m pytest -q \ + tests/test_packet_codec.py \ + tests/test_tcp_transport.py \ + tests/test_gns_transport.py \ + tests/test_gns_gameplay_adapter.py \ + tests/test_snapshot_sequence.py \ + tests/test_transport_policy.py