Skip to content

Add Linux support#3

Merged
RISCfuture merged 2 commits into
mainfrom
linux-support
Jul 7, 2026
Merged

Add Linux support#3
RISCfuture merged 2 commits into
mainfrom
linux-support

Conversation

@RISCfuture

Copy link
Copy Markdown
Owner

Summary

  • Guard String(localized:) behind a Linux shim (unavailable on swift-corelibs-foundation)
  • Import FoundationNetworking where URLSession/HTTPURLResponse are used
  • Fall back to buffering the whole response in URLStreamLoader on Linux, since URLSession.bytes(from:) has no Linux equivalent
  • Port the E2E tool's progress bar off NSKeyValueObservation (Darwin-only) to polling
  • Build the SwiftDOF_E2E executable target on all platforms instead of macOS only
  • Add Ubuntu to the CI matrix

Test plan

  • Linux swift buildBuild complete!
  • Linux swift test — 58 tests passed
  • Linux E2E run (SwiftDOF_E2E) — downloaded real FAA DOF data, parsed 641,207 obstacles, 0 parse errors
  • macOS swift buildBuild complete!
  • macOS swift test — 59 tests passed
  • swiftlint --strict on changed files — clean
  • swift format lint --strict on changed files — clean

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com

RISCfuture and others added 2 commits July 6, 2026 19:55
Guard String(localized:) behind a Linux shim that resolves keys to
themselves (the API doesn't exist on swift-corelibs-foundation), and
import FoundationNetworking where URLSession/HTTPURLResponse are used.
URLSession.bytes(from:) has no Linux equivalent, so URLStreamLoader
falls back to buffering the whole response with data(from:) there
(FAA DOF files are modest-sized). Port the E2E tool's progress bar off
NSKeyValueObservation (Darwin only) to polling. Build the E2E
executable target on all platforms instead of macOS only, and add
Ubuntu to the CI matrix.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Keep the Build-and-Test matrix on both macOS and Ubuntu. Move the
SwiftLint job to ubuntu-latest via the ghcr.io/realm/swiftlint container
(SwiftLint runs cleanly on Linux), and move the documentation build to
ubuntu-latest. Periphery stays on macOS (needs an index-store build with
no clean Linux install path).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@RISCfuture RISCfuture merged commit 721f15e into main Jul 7, 2026
5 checks passed
@RISCfuture RISCfuture deleted the linux-support branch July 7, 2026 04:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant