name: tests on: push: branches: - master pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref != 'refs/heads/master' && github.ref || github.run_id }}-${{ github.event_name }} cancel-in-progress: true env: RUN: source .venv/bin/activate && /bin/bash -c jobs: build: name: build runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v4 - run: ./setup.sh - name: Test python package installer run: ${{ env.RUN }} "pip install --break-system-packages .[dev]" - name: Build debug FW run: ${{ env.RUN }} "scons" - name: Build release FW run: ${{ env.RUN }} "CERT=board/certs/debug RELEASE=1 scons" test: name: ./test.sh runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: ['macos-latest', 'ubuntu-latest'] timeout-minutes: 10 steps: - uses: actions/checkout@v4 - run: ./test.sh windows: name: windows pip package test runs-on: windows-latest timeout-minutes: 10 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 with: python-version: "3.12" - uses: astral-sh/setup-uv@v5 - name: Install package with uv run: uv pip install --system . - name: Verify importing panda run: python -c "from panda import Panda"