diff --git a/.github/workflows/backend_tests.yml b/.github/workflows/backend_tests.yml index 156db1eb..816667a0 100644 --- a/.github/workflows/backend_tests.yml +++ b/.github/workflows/backend_tests.yml @@ -16,7 +16,6 @@ jobs: fail-fast: false matrix: include: - - { python: "3.11", os: "ubuntu-latest", session: "pre-commit" } - { python: "3.11", os: "ubuntu-latest", session: "safety" } - { python: "3.11", os: "ubuntu-latest", session: "mypy" } - { @@ -97,29 +96,29 @@ jobs: pipx inject --pip-args=--constraint=.github/workflows/constraints.txt nox nox-poetry nox --version - - name: Compute pre-commit cache key - if: matrix.session == 'pre-commit' - id: pre-commit-cache - shell: python - run: | - import hashlib - import sys - - python = "py{}.{}".format(*sys.version_info[:2]) - payload = sys.version.encode() + sys.executable.encode() - digest = hashlib.sha256(payload).hexdigest() - result = "${{ runner.os }}-{}-{}-pre-commit".format(python, digest[:8]) - - print("::set-output name=result::{}".format(result)) - - - name: Restore pre-commit cache - uses: actions/cache@v3.0.11 - if: matrix.session == 'pre-commit' - with: - path: ~/.cache/pre-commit - key: ${{ steps.pre-commit-cache.outputs.result }}-${{ hashFiles('.pre-commit-config.yaml') }} - restore-keys: | - ${{ steps.pre-commit-cache.outputs.result }}- + # - name: Compute pre-commit cache key + # if: matrix.session == 'pre-commit' + # id: pre-commit-cache + # shell: python + # run: | + # import hashlib + # import sys + # + # python = "py{}.{}".format(*sys.version_info[:2]) + # payload = sys.version.encode() + sys.executable.encode() + # digest = hashlib.sha256(payload).hexdigest() + # result = "${{ runner.os }}-{}-{}-pre-commit".format(python, digest[:8]) + # + # print("::set-output name=result::{}".format(result)) + # + # - name: Restore pre-commit cache + # uses: actions/cache@v3.0.11 + # if: matrix.session == 'pre-commit' + # with: + # path: ~/.cache/pre-commit + # key: ${{ steps.pre-commit-cache.outputs.result }}-${{ hashFiles('.pre-commit-config.yaml') }} + # restore-keys: | + # ${{ steps.pre-commit-cache.outputs.result }}- - name: Setup Mysql uses: mirromutth/mysql-action@v1.1 with: @@ -160,6 +159,35 @@ jobs: name: logs-${{matrix.python}}-${{matrix.os}}-${{matrix.database}} path: "./log/*.log" + run_pre_commit_checks: + runs-on: ubuntu-latest + steps: + - name: Check out the repository + uses: actions/checkout@v3.0.2 + with: + # Disabling shallow clone is recommended for improving relevancy of reporting in sonarcloud + fetch-depth: 0 + - name: Set up Python + uses: actions/setup-python@v4.2.0 + with: + python-version: "3.11" + - name: Upgrade pip + working-directory: . + run: | + pip install --constraint=.github/workflows/constraints.txt pip + pip --version + - name: Install Poetry + working-directory: . + run: | + pipx install --pip-args=--constraint=.github/workflows/constraints.txt poetry + poetry --version + - name: Poetry Install + run: poetry install + working-directory: . + - name: run_pre_commit + run: ./bin/run_pre_commit_in_ci + working-directory: . + check_docker_start_script: runs-on: ubuntu-latest steps: diff --git a/bin/run_pre_commit_in_ci b/bin/run_pre_commit_in_ci new file mode 100755 index 00000000..b30b7e17 --- /dev/null +++ b/bin/run_pre_commit_in_ci @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +function error_handler() { + >&2 echo "Exited with BAD EXIT CODE '${2}' in ${0} script at line: ${1}." + exit "$2" +} +trap 'error_handler ${LINENO} $?' ERR +set -o errtrace -o errexit -o nounset -o pipefail + +poetry run pre-commit run --verbose --all-files