windows: fix fcntl import (#2329) #19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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 panda images and bootstub | |
| run: ${{ env.RUN }} "scons -j4" | |
| - name: Build with UBSan | |
| run: ${{ env.RUN }} "scons -j4 --ubsan" | |
| - name: Build jungle firmware with FINAL_PROVISIONING support | |
| run: ${{ env.RUN }} "FINAL_PROVISIONING=1 scons -j4 board/jungle" | |
| - name: Build panda in release mode | |
| run: ${{ env.RUN }} "CERT=certs/debug RELEASE=1 scons -j4" | |
| 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" | |
| misra_linter: | |
| name: MISRA C:2012 Linter | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache cppcheck | |
| id: cppcheck-cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: tests/misra/cppcheck | |
| key: cppcheck-${{ hashFiles('tests/misra/*') }} | |
| - run: ./setup.sh | |
| - name: Build FW | |
| run: ${{ env.RUN }} "scons -j$(nproc)" | |
| - name: Run MISRA C:2012 analysis | |
| run: ${{ env.RUN }} "cd tests/misra && ./test_misra.sh" | |
| misra_mutation: | |
| name: MISRA C:2012 Mutation | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 10 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Cache cppcheck | |
| id: cppcheck-cache | |
| uses: actions/cache@v4 | |
| with: | |
| path: tests/misra/cppcheck | |
| key: cppcheck-${{ hashFiles('tests/misra/*') }} | |
| - run: ./setup.sh | |
| - name: Build FW | |
| run: ${{ env.RUN }} "scons -j$(nproc)" | |
| - name: tests/misra/install.sh | |
| run: ${{ env.RUN }} "cd tests/misra && ./install.sh" | |
| - name: MISRA mutation tests | |
| run: ${{ env.RUN }} "cd tests/misra && pytest test_mutation.py" |