# SPDX-License-Identifier: GPL-3.0-only # OpenScribe CI - runs on the self-hosted Forgejo Actions runner. name: ci on: push: branches: [main] pull_request: jobs: firmware: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install PlatformIO run: pip install platformio - name: Build firmware (both board profiles) working-directory: firmware run: | pio run -e esp32s3_dev pio run -e xiao_esp32s3 server: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.11" - name: Install server deps working-directory: server run: | pip install fastapi uvicorn pydantic pydantic-settings python-multipart ruff pytest - name: Lint working-directory: server run: ruff check app - name: Import check working-directory: server run: python -c "from app.main import app; print('server imports OK')"