-1

***EDIT Issue resolved. Several things needed to be done to setup pre-commit in my environment prior to commit/push.

  1. 'git init'
  2. 'pre-commit install'
  3. open new terminal, activate venv
  4. 'pre-commit run —all-files'

Hope this helps someone in the future.


Junior Web Developer making his first post!

I'm setting up a Python Django project using the Cookie-cutter template https://github.com/cookiecutter/cookiecutter-django

However, upon any commit to GitHub, the GitHub Actions test fails on linter at the Run pre-commit step. I receive the error message: "Error: The process '/opt/hostedtoolcache/Python/3.9.10/x64/bin/pre-commit' failed with exit code 1"

My research indicates this is a generic python linter failure, but it's not clear why it's failing. The slug repo doesn't have any issues and I've setup the project many times, on 3 different machines (2 Macs and 1 Windows), pushing to new repositories each time, slightly modifying the settings each time, not modifying any code after project initialization, sadly receiving the same results.

I'm completely stumped and my progress has come to a stop on this issue. Please note I don't have much experience with GitHub Actions. Part of using this project template is having these nice features work to support future development.

One thing I'm confused about is why python 3.9.10 is being used in the pre-commit step when command "python3 --version" on all my machines I've used to initialize the project is returning python 3.9.9. A simple search in the project for "3.9.10" returns no results.

Below are my relevant project build settings. I've attempted many different combinations, but this is the result I'd like to get to production. Everything builds and runs via Docker-compose locally without issues. Thanks massively for your help and guidance! Some seemingly non-relevant links removed in the code due to reputation limit. https://github.com/TElphee01/django1

version: 0.1.0

open_source_license: 2 - BSD

timezone: EST

windows: n

use_pycharm: n

use_docker: y

postgresql_version: 14.1

js_task_runner: gulp

cloud_provider: AWS

Mail_service: Mailgun

Use_async:n

Use_drf: y

custom_bootstrap_compilation: n

use_compressor: y

use_celery: y

use_mailhog: y

use_sentry: y

Use_whitenoise: y

use_heroku: y

ci_tool: Github

Keep_local_envs_in_vcs: y

debug: n

Error message found at: https://github.com/TElphee01/django1/runs/5325567134?check_suite_focus=true under Run pre-commit step

Run pre-commit/action@v2.0.3
install pre-commit
/opt/hostedtoolcache/Python/3.9.10/x64/bin/pre-commit run --show-diff-on-failure --color=always --all-files
[INFO] Initializing environment for github.com/pre-commit/pre-commit-hooks.
[INFO] Initializing environment for github.com/psf/black.
[INFO] Initializing environment for github.com/PyCQA/isort.
[INFO] Initializing environment for github.com/PyCQA/flake8.
[INFO] Initializing environment for github.com/PyCQA/flake8:flake8-isort.
[INFO] Installing environment for github.com/pre-commit/pre-commit-hooks.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for github.com/psf/black.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for github.com/PyCQA/isort.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
[INFO] Installing environment for github.com/PyCQA/flake8.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
trim trailing whitespace.................................................Passed
fix end of files.........................................................Failed
- hook id: end-of-file-fixer
- exit code: 1
- files were modified by this hook

Fixing README.md

check yaml...............................................................Passed
black....................................................................Passed
isort....................................................................Failed
- hook id: isort
- files were modified by this hook

Fixing /home/runner/work/django1/django1/tefrontend/users/tests/test_views.py

flake8...................................................................Passed
pre-commit hook(s) made changes.
If you are seeing this message in CI, reproduce locally with: `pre-commit run --all-files`.
To run `pre-commit` as part of git workflow, use `pre-commit install`.
All changes made by hooks:
diff --git a/README.md b/README.md
index a64ec04..c4c8a44 100644
Binary files a/README.md and b/README.md differ
diff --git a/tefrontend/users/tests/test_views.py b/tefrontend/users/tests/test_views.py
index ebdc864..4fe526a 100644
--- a/tefrontend/users/tests/test_views.py
+++ b/tefrontend/users/tests/test_views.py
@@ -11,11 +11,7 @@ from django.urls import reverse
 from tefrontend.users.forms import UserAdminChangeForm
 from tefrontend.users.models import User
 from tefrontend.users.tests.factories import UserFactory
-from tefrontend.users.views import (
-    UserRedirectView,
-    UserUpdateView,
-    user_detail_view,
-)
+from tefrontend.users.views import UserRedirectView, UserUpdateView, user_detail_view
 
 pytestmark = pytest.mark.django_db
 
Error: The process '/opt/hostedtoolcache/Python/3.9.10/x64/bin/pre-commit' failed with exit code 1
TElphee01
  • 1
  • 2

1 Answers1

0

It looks like the pre-commit checks have detected some specific issues in your project:

  • the "end of file" check, which ensures that a file is either empty, or ends with one newline, and
  • the "isort" check, which has to do with the ordering and formatting of import statements.

In both cases, the tooling is also correcting the problem.

If you were to install and run pre-commit locally, you could just commit the changes it makes and then push your code when the commits pass the checks locally.

If you install pre-commit and then run pre-commit install in your repository, it will be installed as a pre-commit hook so these checks will be run for you automatically when you commit changes.

larsks
  • 277,717
  • 41
  • 399
  • 399