mirror of
https://github.com/openswarm-ai/openswarm.git
synced 2026-09-13 05:07:40 +02:00
[eric] ci: the three suites run on macOS arm64, macOS Intel and Windows on every eric/dev push, and dogfood gets its Mac leg back (ENG-486)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Fable 5.1
parent
2bc9d4eeb9
commit
9d68ac6d5d
@@ -36,10 +36,9 @@ jobs:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
# Windows-only. macOS legs removed: runner starvation + untriageable
|
||||
# mac-only failures kept the matrix red. Re-add when a Mac maintainer
|
||||
# owns them (and pass --require win32,darwin to verify-release-readiness).
|
||||
os: [windows-latest]
|
||||
# The macOS leg was dropped once for runner starvation and mac-only failures nobody
|
||||
# owned; the desktop app ships to Macs first, so it is back, and a red leg is a finding.
|
||||
os: [windows-latest, macos-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
|
||||
@@ -0,0 +1,68 @@
|
||||
name: Suites on every OS
|
||||
|
||||
# The three suites (backend pytest, frontend, electron) used to run only on one developer's Mac;
|
||||
# CI ran a hermetic subset on Ubuntu. Users run a 2017 iMac, Intel Macs and Windows laptops, so the
|
||||
# full suites run on the three hosted OSes. fail-fast is off and every suite runs even after a red
|
||||
# one, so one run reports all nine verdicts.
|
||||
on:
|
||||
workflow_dispatch:
|
||||
push:
|
||||
branches: [eric/dev, main]
|
||||
|
||||
concurrency:
|
||||
group: suites-matrix-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
permissions:
|
||||
contents: read
|
||||
|
||||
jobs:
|
||||
suites:
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os: [macos-latest, macos-15-intel, windows-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
timeout-minutes: 60
|
||||
env:
|
||||
OSW_NEVER_KILL_ROUTER: '1'
|
||||
OSW_DISABLE_AUTO_RESUME: '1'
|
||||
CSC_IDENTITY_AUTO_DISCOVERY: 'false'
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
|
||||
- uses: actions/setup-python@v5
|
||||
with:
|
||||
python-version: '3.13'
|
||||
cache: pip
|
||||
cache-dependency-path: backend/requirements.lock
|
||||
|
||||
- name: Backend dependencies (the locked set users get, plus the test runner)
|
||||
run: |
|
||||
pip install -r backend/requirements.lock
|
||||
pip install -r backend/requirements-dev.txt
|
||||
|
||||
- name: Backend suite
|
||||
shell: bash
|
||||
run: python -m pytest backend/tests -q -p no:cacheprovider
|
||||
|
||||
- uses: actions/setup-node@v4
|
||||
if: always()
|
||||
with:
|
||||
node-version: '22'
|
||||
cache: npm
|
||||
cache-dependency-path: |
|
||||
frontend/package-lock.json
|
||||
electron/package-lock.json
|
||||
|
||||
- name: Frontend suite
|
||||
if: always()
|
||||
shell: bash
|
||||
working-directory: frontend
|
||||
run: npm ci && npm test
|
||||
|
||||
- name: Electron suite
|
||||
if: always()
|
||||
shell: bash
|
||||
working-directory: electron
|
||||
run: npm ci && npm test
|
||||
Reference in New Issue
Block a user