server/ stays as the legacy v0.1.0 setup (tag v0.1.0, branch legacy). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
53 lines
1.6 KiB
YAML
53 lines
1.6 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
ios:
|
|
runs-on: macos-26
|
|
defaults:
|
|
run:
|
|
working-directory: ios
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- name: Unit tests (simulator, unsigned)
|
|
run: |
|
|
sim=$(xcrun simctl list devices available | grep -Eo 'iPhone [0-9]+[A-Za-z ]*\(' | head -1 | sed 's/ ($//')
|
|
echo "simulator: $sim"
|
|
xcodebuild test -scheme IPhoneAgent -destination "platform=iOS Simulator,name=$sim" \
|
|
-derivedDataPath build-sim CODE_SIGNING_ALLOWED=NO
|
|
|
|
firmware:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: arduino/setup-arduino-cli@v2
|
|
- run: |
|
|
arduino-cli core update-index --additional-urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
|
|
arduino-cli core install esp32:esp32@3.3.12 --additional-urls https://espressif.github.io/arduino-esp32/package_esp32_index.json
|
|
arduino-cli lib install "NimBLE-Arduino@2.5.1"
|
|
- name: Build
|
|
run: hardware/flash.sh --build-only
|
|
- name: Host tests (bplist, GOP buffer)
|
|
run: make -C hardware/tests
|
|
|
|
server: # legacy v0.1.0 architecture, kept working
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
python: ["3.10", "3.12"]
|
|
defaults:
|
|
run:
|
|
working-directory: server
|
|
steps:
|
|
- uses: actions/checkout@v5
|
|
- uses: actions/setup-python@v6
|
|
with:
|
|
python-version: ${{ matrix.python }}
|
|
- run: pip install -e ".[dev]"
|
|
- run: ruff check .
|
|
- run: pytest -q
|