name: Acceptance (end-to-end TCP) # Issue #15 acceptance matrix, executed end-to-end: stands up the real # AuthoritativeServer behind the real TCP transport on a loopback port and drives # real client sockets through it. If the runner cannot bind a loopback listener, # the harness prints SKIP and exits 0 (it still runs for real on dev machines and # the NAS runner). on: push: paths: - "server/**" - ".github/workflows/acceptance.yml" pull_request: paths: - "server/**" - ".github/workflows/acceptance.yml" workflow_dispatch: jobs: acceptance: name: End-to-end TCP acceptance runs-on: [self-hosted, Linux, X64] steps: - uses: actions/checkout@v4 - name: Enforce repository runtime policy run: bash server/scripts/verify-no-legacy-runtime.sh - uses: actions/setup-dotnet@v4 env: DOTNET_INSTALL_DIR: ${{ runner.tool_cache }}/dotnet with: dotnet-version: "8.0.x" - name: Run end-to-end acceptance harness working-directory: server run: dotnet run --project acceptance/CommonwealthOnline.Server.Acceptance.csproj -c Release