Skip to content

Cross-platform CI (Linux x64/ARM, macOS, Windows) #34

Description

@AveryClapp

Feature Description

Expand CI to test on all major platforms and architectures.

Current State

  • Only tested locally on macOS ARM64

Target Platforms

  • macOS ARM64 (developer machine)
  • macOS x64 (Intel Macs)
  • Linux x64 (Ubuntu 22.04, 24.04)
  • Linux ARM64 (AWS Graviton, Raspberry Pi)
  • Windows x64 (MSVC, MinGW, WSL)

GitHub Actions Matrix

strategy:
  matrix:
    os: [ubuntu-22.04, ubuntu-24.04, macos-13, macos-14, windows-2022]
    llvm: [17, 18, 19, 20, 21]

Platform-Specific Issues

  • Windows: Path separators, LLVM installation
  • Linux ARM: QEMU emulation (slow)
  • macOS Intel: Homebrew LLVM paths

Implementation

  • Update CMakeLists.txt for Windows
  • CI workflow for all platforms
  • Pre-built LLVM passes for each platform
  • Platform-specific documentation

Files

  • .github/workflows/ci.yml (extend)
  • backend/llvm-pass/CMakeLists.txt (Windows fixes)
  • docs/building-windows.md (new)

Acceptance Criteria

  • All tests pass on all platforms
  • Pre-built binaries for each platform in releases
  • Platform badges in README

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions