Skip to content

Add working Linux interaction engine (AT-SPI2 perception, X11 input, X11 capture) #41

Add working Linux interaction engine (AT-SPI2 perception, X11 input, X11 capture)

Add working Linux interaction engine (AT-SPI2 perception, X11 input, X11 capture) #41

Workflow file for this run

name: CI
on:
push:
branches: [main]
pull_request:
jobs:
build-and-test:
runs-on: macos-15
steps:
- uses: actions/checkout@v4
- name: Select Xcode
# Fail hard if the pinned Xcode is missing — do not fall back to a
# different toolchain (that silently changes compiler/SDK behavior).
run: |
test -d /Applications/Xcode_16.4.app
sudo xcode-select -s /Applications/Xcode_16.4.app
- name: Cache SwiftPM
uses: actions/cache@v4
with:
path: |
.build
~/Library/Caches/org.swift.swiftpm
key: ${{ runner.os }}-swiftpm-${{ hashFiles('Package.resolved') }}
restore-keys: |
${{ runner.os }}-swiftpm-
- name: Preflight (no GUI/TCC)
# GUI-dependent paths (AX, ScreenCaptureKit, overlay) need a logged-in
# desktop session and TCC grants, so hosted CI stays on the pure,
# non-mutating path.
run: python3 scripts/preflight.py
linux-build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install Linux interaction dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
libatspi2.0-dev \
libx11-dev \
libxtst-dev \
libxext-dev \
libpng-dev
- name: Set up Swift
uses: swift-actions/setup-swift@v2
with:
swift-version: "6.0.3"
- name: Cache SwiftPM
uses: actions/cache@v4
with:
path: |
.build
~/.cache/org.swift.swiftpm
key: ${{ runner.os }}-swiftpm-${{ hashFiles('Package.resolved') }}
restore-keys: |
${{ runner.os }}-swiftpm-
- name: Preflight (Linux, no GUI/TCC)
run: python3 scripts/preflight.py --bin .build/debug/computer-use-mcp
# Non-blocking style check: does not gate build-and-test. Prefer the
# toolchain-bundled `swift format lint` over adding a SwiftLint dependency.
lint:
runs-on: macos-15
continue-on-error: true
steps:
- uses: actions/checkout@v4
- name: Select Xcode
run: |
test -d /Applications/Xcode_16.4.app
sudo xcode-select -s /Applications/Xcode_16.4.app
- name: swift format lint
run: swift format lint --recursive Sources Tests