diff --git a/.github/workflows/precommits_check.yml b/.github/workflows/precommits_check.yml new file mode 100644 index 000000000..5a7078bd3 --- /dev/null +++ b/.github/workflows/precommits_check.yml @@ -0,0 +1,46 @@ +name: Pre-commit checks +on: + pull_request: + branches: + - dev + - main + types: + - opened + - edited + - synchronize + workflow_dispatch: + branches: + - dev + - main + +jobs: + pre-commit-checks: + steps: + - uses: actions/checkout@v3 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.9" + cache: "pip" + - name: Check Pull Request Title + uses: Slashgear/action-check-pr-title@main + with: + regexp: '(break|build|ci|docs|feat|fix|perf|refactor|style|test|ops|hotfix|release|maint|init|enh|revert)\([a-z,A-Z,0-9,\-,\_,\/,:]+\)(:)\s{1}([\w\s]+)' # Regex the title should match. + - name: Getting changed files list + id: files + uses: jitterbit/get-changed-files@master + - name: Checking changed files + shell: bash + run: | + echo "Changed files" + echo ${{ steps.files.outputs.all }} + echo "Github Client version" + echo $(gh --version) + - name: Pre-Commit Checks + run: | + python -m pip install --upgrade pip + pip install pre-commit + echo "Running pre-commit scans:" + # adding log display in case of pre-commit errors + pre-commit run -v --files ${{ steps.files.outputs.all }} + shell: bash diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8596afc68..b78b22a8b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,5 +1,5 @@ default_language_version: - python: python3.11 + python: python3.9 default_stages: [commit] default_install_hook_types: [pre-commit, commit-msg] @@ -22,7 +22,7 @@ repos: args: [ "--profile=black", - "--py=311", + "--py=39", "--line-length=120", "--multi-line=3", "--trailing-comma", diff --git a/pyproject.toml b/pyproject.toml index 83f313b84..acebc7ea0 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -161,7 +161,7 @@ exclude_lines = [ [tool.ruff] line-length = 120 indent-width = 4 -target-version = "py311" +target-version = "py39" extend-unsafe-fixes = ["D"] [tool.ruff.lint]