name: Networking V2 Self-Hosted Gate on: push: paths: - "server/client_session.py" - "server/packet_codec.py" - "server/tcp_transport.py" - "server/transport_server.py" - "server/gns_transport.py" - "server/gns_gameplay_adapter.py" - "server/gns_snapshot_envelope.py" - "server/snapshot_sequence.py" - "server/transport_policy.py" - "server/tests/test_packet_codec.py" - "server/tests/test_tcp_transport.py" - "server/tests/test_transport_server.py" - "server/tests/test_gns_transport.py" - "server/tests/test_gns_gameplay_adapter.py" - "server/tests/test_gns_snapshot_envelope.py" - "server/tests/test_snapshot_sequence.py" - "server/tests/test_transport_policy.py" - ".github/workflows/networking-v2-selfhosted.yml" pull_request: paths: - "server/client_session.py" - "server/packet_codec.py" - "server/tcp_transport.py" - "server/transport_server.py" - "server/gns_transport.py" - "server/gns_gameplay_adapter.py" - "server/gns_snapshot_envelope.py" - "server/snapshot_sequence.py" - "server/transport_policy.py" - "server/tests/test_packet_codec.py" - "server/tests/test_tcp_transport.py" - "server/tests/test_transport_server.py" - "server/tests/test_gns_transport.py" - "server/tests/test_gns_gameplay_adapter.py" - "server/tests/test_gns_snapshot_envelope.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 \ client_session.py \ packet_codec.py \ tcp_transport.py \ transport_server.py \ gns_transport.py \ gns_gameplay_adapter.py \ gns_snapshot_envelope.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_transport_server.py \ tests/test_gns_transport.py \ tests/test_gns_gameplay_adapter.py \ tests/test_gns_snapshot_envelope.py \ tests/test_snapshot_sequence.py \ tests/test_transport_policy.py