Skip to content

Commit 7372315

Browse files
ci(cross-platform): Linux-only for now (defer macOS/Windows) (#36)
* ci(cross-platform): gate on Linux, make macOS/Windows non-blocking Focus CI on Linux now and defer full cross-platform support to a later effort. The FFI is currently POSIX-only — probe.zig uses fcntl/F.GETFL for non-blocking sockets and cli.zig uses posix.getenv — so Windows does not compile (F is void on Windows; posix.getenv is unavailable there) and macOS is build-only. Rather than block every PR on targets that are not supported yet: - Linux: gates as before (build + integration tests; continue-on-error false) - macOS + Windows: still build for early signal, but continue-on-error true, so they no longer fail the workflow or gate merges. Full Windows/macOS support (fcntl -> ioctlsocket(FIONBIO), posix.getenv -> std.process.getEnvVarOwned, and whatever else surfaces) is tracked for a dedicated cross-platform effort. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvsZgNxFbeqfRmrVFNhJ8G * ci(cross-platform): drop macOS/Windows legs (Linux-only for now) Supersedes the continue-on-error approach in the previous commit. Job-level continue-on-error stops the overall workflow run from failing, but the individual macOS/Windows jobs still report conclusion=failure to the Checks API — i.e. they keep showing red and firing failure webhooks, which is not "defer them". Removing the legs from the matrix is the clean way to set those expectations aside: no Windows red, no noise. Linux is the sole platform until the dedicated cross-platform effort re-adds macOS/Windows (Windows needs fcntl -> ioctlsocket(FIONBIO) and posix.getenv -> std.process.getEnvVarOwned). The matrix structure is kept so re-adding os/name there is a one-line change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01LvsZgNxFbeqfRmrVFNhJ8G --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent cc0b75b commit 7372315

1 file changed

Lines changed: 6 additions & 8 deletions

File tree

.github/workflows/cross-platform.yml

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
# SPDX-License-Identifier: MPL-2.0
2-
# Cross-platform CI for Game Server Admin
3-
# Builds and tests on Linux, macOS, and Windows
2+
# CI for Game Server Admin — Linux only for now.
3+
# macOS and Windows are deferred to the dedicated cross-platform effort:
4+
# the FFI is currently POSIX-only (fcntl sockets, posix.getenv) and does
5+
# not compile on Windows. Re-add the matrix legs there.
46

57
name: Cross-Platform Build & Test
68

@@ -19,15 +21,11 @@ jobs:
1921
fail-fast: false
2022
matrix:
2123
include:
24+
# Linux only for now; macOS/Windows deferred to the cross-platform
25+
# effort. Kept as a matrix so re-adding os/name there is trivial.
2226
- os: ubuntu-latest
2327
name: Linux
2428
run-integration: true
25-
- os: macos-latest
26-
name: macOS
27-
run-integration: false
28-
- os: windows-latest
29-
name: Windows
30-
run-integration: false
3129

3230
name: ${{ matrix.name }}
3331
runs-on: ${{ matrix.os }}

0 commit comments

Comments
 (0)