# Run unitary test name: test on: workflow_call: jobs: test-linux: # https://github.com/actions/runner-images?tab=readme-ov-file#available-images runs-on: ubuntu-22.04 strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | python -m pip install --upgrade pip pip install flake8 if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Lint with flake8 run: | # Stop the build if there are Python syntax errors or undefined names flake8 . --count --select=E9,F63,F7,F82 --show-source --statistics --exclude=.git,./docs,./glances/outputs/static # exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics --exclude=.git,./docs,./glances/outputs/static - name: Static type check run: | echo "Skipping static type check for the moment, too much error..."; # pip install pyright # pyright glances - name: Unitary tests run: | python ./unittest-core.py # Error appear with h11, not related to Glances # Should be tested if correction is done # Installed c:\hostedtoolcache\windows\python\3.9.13\x64\lib\site-packages\exceptiongroup-1.2.1-py3.9.egg # error: h11 0.14.0 is installed but h11<0.13,>=0.11 is required by {'httpcore'} # Error: Process completed with exit code 1. # test-windows: # # https://github.com/actions/runner-images?tab=readme-ov-file#available-images # runs-on: windows-2022 # strategy: # matrix: # # Python version "3.12" introduce this issue: # # https://github.com/nicolargo/glances/actions/runs/6439648370/job/17487567454 # python-version: ["3.8", "3.9", "3.10", "3.11"] # steps: # - uses: actions/checkout@v4 # - name: Set up Python ${{ matrix.python-version }} # uses: actions/setup-python@v5 # with: # python-version: ${{ matrix.python-version }} # cache: 'pip' # - name: Install dependencies # run: | # python -m pip install --upgrade pip # if (Test-Path -PathType Leaf "requirements.txt") { python -m pip install -r requirements.txt } # python setup.py install # - name: Unitary tests # run: | # python ./unittest-core.py test-macos: # https://github.com/actions/runner-images?tab=readme-ov-file#available-images runs-on: macos-14 strategy: matrix: python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} cache: 'pip' - name: Install dependencies run: | python -m pip install --upgrade pip if [ -f requirements.txt ]; then pip install -r requirements.txt; fi - name: Unitary tests run: | python ./unittest-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 py-pip # run: | # set -e -x # python3 -m pip install --user -r requirements.txt # python ./unittest-core.py