name: lint | code & tests on: workflow_dispatch: pull_request: concurrency: group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} cancel-in-progress: true jobs: run_lint: name: lint strategy: fail-fast: true matrix: os: - ubuntu-latest python-version: ["3.8.x", "3.9.x", "3.10.x", "3.11.x"] defaults: run: shell: bash runs-on: ${{ matrix.os }} steps: - name: Check out uses: actions/checkout@master - name: Setup Python uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install Poetry uses: snok/install-poetry@v1 with: virtualenvs-create: true virtualenvs-in-project: true installer-parallel: true - name: Load cached venv id: cached-poetry-dependencies uses: actions/cache@v4 with: path: .venv key: venv-${{ matrix.os }}-${{ matrix.python-version }}-${{ hashFiles('**/poetry.lock') }} - name: Install dependencies # if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true' run: poetry install --all-extras --no-root - name: Set Script Permissions run: chmod +x ./tools/check-package.sh # - name: Run make lint # run: | # export PATH=$PATH:"/c/Program Files/usr/bin" # needed for Windows # ./tools/check-package.sh # poetry run python ./tools/check-lockfile.py # poetry run mypy --config-file mypy.ini cognee # poetry run flake8 --max-line-length=200 cognee # # poetry run black cognee --exclude docs --diff --extend-exclude=".*syntax_error.py" # # poetry run isort ./ --diff # poetry run bandit -r cognee/ -n 3 -l # # matrix_job_required_check: # name: lint | code & tests # needs: run_lint # runs-on: ubuntu-latest # if: always() # steps: # - name: Check matrix job results # if: contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') # run: | # echo "One or more matrix job tests failed or were cancelled. You may need to re-run them." && exit 1