# Run unitary test name: test on: workflow_call: jobs: source-code-checks: runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v5 - name: Check formatting with Ruff uses: chartboost/ruff-action@v1 with: args: 'format --check' - name: Check linting with Ruff uses: chartboost/ruff-action@v1 with: args: 'check' # - name: Static type check # run: | # echo "Skipping static type check for the moment, too much error..."; # # pip install pyright # # pyright glances test-linux: needs: source-code-checks # https://github.com/actions/runner-images?tab=readme-ov-file#available-images runs-on: ubuntu-24.04 strategy: matrix: # Python EOL version are note tested # Multiple Python version only tested for Linux python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"] steps: - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | if [ -f dev-requirements.txt ]; then python -m pip install -r dev-requirements.txt; fi if [ -f requirements.txt ]; then python -m pip install -r requirements.txt; fi - name: Unitary tests run: | python -m pytest ./tests/test_core.py test-windows: needs: source-code-checks # https://github.com/actions/runner-images?tab=readme-ov-file#available-images runs-on: windows-2025 strategy: matrix: # Windows-curses not available for Python 3.14 for the moment # See https://github.com/zephyrproject-rtos/windows-curses/issues/76 python-version: ["3.13"] steps: - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | if (Test-Path -PathType Leaf "dev-requirements.txt") { python -m pip install -r dev-requirements.txt } if (Test-Path -PathType Leaf "requirements.txt") { python -m pip install -r requirements.txt } pip install . - name: Unitary tests run: | python -m pytest ./tests/test_core.py test-macos: needs: source-code-checks # https://github.com/actions/runner-images?tab=readme-ov-file#available-images runs-on: macos-15 strategy: matrix: # Only test the latest stable version python-version: ["3.14"] steps: - uses: actions/checkout@v5 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | if [ -f dev-requirements.txt ]; then python -m pip install -r dev-requirements.txt; fi if [ -f requirements.txt ]; then python -m pip install -r requirements.txt; fi - name: Unitary tests run: | python -m pytest ./tests/test_core.py # Error when trying to implement #2749 # pkg: No packages available to install matching 'py-pip' have been found in the repositories # test-freebsd: # runs-on: ubuntu-22.04 # steps: # - uses: actions/checkout@v4 # - name: Run tests # uses: vmactions/freebsd-vm@v1 # with: # usesh: true # prepare: | # pkg install -y python3 # run: | # set -e -x # python3 -m pip install pytest # python3 -m pip install --user -r dev-requirements.txt # python3 -m pip install --user -r requirements.txt # python3 -m pytest ./tests/test_core.py