ci: pre-commit autoupdate #73
This file contains 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: ChecksAndTesting | |
on: | |
pull_request: | |
branches: [develop] | |
jobs: | |
analyze: | |
name: Analyze code quality | |
runs-on: ubuntu-latest | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
strategy: | |
fail-fast: false | |
matrix: | |
language: ["python"] | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v3 | |
- name: Initialize CodeQL | |
uses: github/codeql-action/init@v2 | |
with: | |
languages: ${{ matrix.language }} | |
- name: Autobuild | |
uses: github/codeql-action/autobuild@v2 | |
- name: Perform CodeQL Analysis | |
uses: github/codeql-action/analyze@v2 | |
with: | |
category: "/language:${{matrix.language}}" | |
testing: | |
name: Checks and tests | |
runs-on: ubuntu-latest | |
strategy: | |
matrix: | |
python-version: ["3.8", "3.9", "3.10"] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Install poetry | |
run: | | |
curl -O -sSL https://install.python-poetry.org/install-poetry.py | |
python install-poetry.py -y --version 1.3.2 | |
echo "PATH=${HOME}/.poetry/bin:${PATH}" >> $GITHUB_ENV | |
rm install-poetry.py | |
- uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "poetry" | |
- name: Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@v4 | |
with: | |
python-version: ${{ matrix.python-version }} | |
cache: "poetry" | |
- name: Install dependencies and project | |
run: | | |
poetry env use ${{ matrix.python-version }} | |
poetry install --with test --with dev | |
- name: Check with isort | |
run: | | |
poetry run isort --check-only . | |
- name: Check with black | |
run: | | |
poetry run black --check ./src/blitzly ./tests | |
- name: Check with mypy | |
run: | | |
poetry run mypy --config-file=pyproject.toml . | |
- name: Check with bandit | |
run: | | |
poetry run bandit -r ./src/blitzly/* | |
- name: Lint with pylint | |
run: | | |
poetry run pylint --rcfile=pyproject.toml ./src/blitzly ./tests | |
- name: Test with pytest | |
run: | | |
poetry run pytest --cov src/blitzly --cov-fail-under=90 --cov-report term-missing |