name: python-test on: push: paths: - "salt/sensoroni/files/analyzers/**" - "salt/manager/tools/sbin" pull_request: paths: - "salt/sensoroni/files/analyzers/**" - "salt/manager/tools/sbin" jobs: build: runs-on: ubuntu-latest strategy: fail-fast: false matrix: python-version: ["3.10"] python-code-path: ["salt/sensoroni/files/analyzers", "salt/manager/tools/sbin"] steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip python -m pip install flake8 pytest pytest-cov find . -name requirements.txt -exec pip install -r {} \; - name: Lint with flake8 run: | flake8 ${{ matrix.python-code-path }} --show-source --max-complexity=12 --doctests --max-line-length=200 --statistics - name: Test with pytest run: | pytest ${{ matrix.python-code-path }} --cov=${{ matrix.python-code-path }} --doctest-modules --cov-report=term --cov-fail-under=100 --cov-config=pytest.ini