mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-05 10:56:56 -05:00
gnu: pre-commit: Update to 2.12.1.
* gnu/packages/version-control.scm (pre-commit): Update to 2.12.1. [arguments]: Make source tree writable and initialize a git repository before check phase. Simplify check phase. [native-inputs]: Add python-covdefaults, python-coverage, python-distlib/next, python-pytest-env, which. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
parent
3cde5231aa
commit
7fb7384134
1 changed files with 34 additions and 65 deletions
|
@ -29,7 +29,7 @@
|
|||
;;; Copyright © 2020 Brice Waegeneire <brice@waegenei.re>
|
||||
;;; Copyright © 2020 John D. Boy <jboy@bius.moe>
|
||||
;;; Copyright © 2020 Jan (janneke) Nieuwenhuizen <janneke@gnu.org>
|
||||
;;; Copyright © 2020 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020, 2021 Vinicius Monego <monego@posteo.net>
|
||||
;;; Copyright © 2020 Tanguy Le Carrour <tanguy@bioneland.org>
|
||||
;;; Copyright © 2020, 2021 Michael Rohleder <mike@rohleder.de>
|
||||
;;; Copyright © 2021 Greg Hogan <code@greghogan.com>
|
||||
|
@ -1518,7 +1518,7 @@ (define-public gitolite
|
|||
(define-public pre-commit
|
||||
(package
|
||||
(name "pre-commit")
|
||||
(version "2.8.1")
|
||||
(version "2.12.1")
|
||||
(source
|
||||
(origin
|
||||
;; No tests in the PyPI tarball.
|
||||
|
@ -1528,12 +1528,12 @@ (define-public pre-commit
|
|||
(commit (string-append "v" version))))
|
||||
(file-name (git-file-name name version))
|
||||
(sha256
|
||||
(base32 "0b3ks6viccq3n4p8i8zgfd40vp1k5nkhmmlz7p4nxcdizw8zxgn8"))))
|
||||
(base32 "0gwy5bnjnlj6yjcmghsibrcijvz9isxcygln7ihvi728p04rgymf"))))
|
||||
(build-system python-build-system)
|
||||
(arguments
|
||||
`(#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-before 'check 'set-up-git
|
||||
(add-before 'check 'prepare-check-env
|
||||
(lambda _
|
||||
;; Change from /homeless-shelter to /tmp for write permission.
|
||||
(setenv "HOME" "/tmp")
|
||||
|
@ -1542,72 +1542,36 @@ (define-public pre-commit
|
|||
(setenv "GIT_COMMITTER_NAME" "Your Name")
|
||||
(setenv "GIT_AUTHOR_EMAIL" "you@example.com")
|
||||
(setenv "GIT_COMMITTER_EMAIL" "you@example.com")
|
||||
;; Some tests still fail with PermissionError. Make the source
|
||||
;; tree writable.
|
||||
(for-each make-file-writable (find-files "."))
|
||||
;; Some tests will need a working git repository.
|
||||
(invoke "git" "init")
|
||||
(invoke "git" "config" "--global" "user.name" "Your Name")
|
||||
(invoke "git" "config" "--global" "user.email" "you@example.com")
|
||||
#t))
|
||||
#t))
|
||||
(replace 'check
|
||||
(lambda* (#:key inputs outputs #:allow-other-keys)
|
||||
(add-installed-pythonpath inputs outputs)
|
||||
(invoke "pytest" "tests" "-k"
|
||||
;; The file below contains about 30 tests that fail because they
|
||||
;; depend on tools from multiple languages (cargo, npm, cpan,
|
||||
;; Rscript, etc). There are other tests that pass, but it's more
|
||||
;; convenient to skip the whole file than list 30 tests to skip.
|
||||
(invoke "pytest" "--ignore=tests/repository_test.py"
|
||||
;; Ruby and Node tests require node and gem.
|
||||
"--ignore=tests/languages/node_test.py"
|
||||
"--ignore=tests/languages/ruby_test.py"
|
||||
;; FIXME: Python tests fail because of distlib version
|
||||
;; mismatch. Even with python-distlib/next it is
|
||||
;; pulling version 0.3.0, while 0.3.1 is required.
|
||||
"--ignore=tests/languages/python_test.py" "-k"
|
||||
(string-append
|
||||
;; Disable conda tests.
|
||||
"not test_conda_hook"
|
||||
" and not test_conda_with_additional_dependencies_hook"
|
||||
" and not test_local_conda_additional_dependencies"
|
||||
;; Disable cpan tests.
|
||||
" and not test_local_perl_additional_dependencies"
|
||||
" and not test_perl_hook"
|
||||
;; Disable Ruby tests.
|
||||
" and not test_additional_ruby_dependencies_installed"
|
||||
" and not test_install_rbenv"
|
||||
" and not test_install_rbenv_with_version"
|
||||
" and not test_run_a_ruby_hook"
|
||||
" and not test_run_ruby_hook_with_disable_shared_gems"
|
||||
" and not test_run_versioned_ruby_hook"
|
||||
;; Disable Cargo tests.
|
||||
" and not test_additional_rust_cli_dependencies_installed"
|
||||
" and not test_additional_rust_lib_dependencies_installed"
|
||||
" and not test_local_rust_additional_dependencies"
|
||||
" and not test_rust_hook"
|
||||
;; Disable dotnet tests.
|
||||
" and not test_dotnet_hook"
|
||||
;; Disable nodejs tests.
|
||||
" and not test_unhealthy_if_system_node_goes_missing"
|
||||
" and not test_installs_without_links_outside_env"
|
||||
" and not test_healthy_system_node"
|
||||
;; Disable python2 test.
|
||||
" and not test_switch_language_versions_doesnt_clobber"
|
||||
;; These tests try to open a network socket.
|
||||
" and not test_additional_golang_dependencies_installed"
|
||||
" and not test_additional_node_dependencies_installed"
|
||||
" and not test_golang_hook"
|
||||
" and not test_golang_hook_still_works_when_gobin_is_set"
|
||||
" and not test_local_golang_additional_dependencies"
|
||||
" and not test_main"
|
||||
" and not test_node_hook_with_npm_userconfig_set"
|
||||
" and not test_run_a_node_hook"
|
||||
" and not test_run_versioned_node_hook"
|
||||
;; Tests failing with a permission error.
|
||||
;; They try to write to the filesystem.
|
||||
" and not test_autoupdate_hook_disappearing_repo"
|
||||
" and not test_hook_disppearing_repo_raises"
|
||||
" and not test_img_conflict"
|
||||
" and not test_img_something_unstaged"
|
||||
" and not test_installed_from_venv"
|
||||
" and not test_too_new_version"
|
||||
" and not test_try_repo_uncommitted_changes"
|
||||
" and not test_versions_ok"
|
||||
;; This test tries to activate a virtualenv.
|
||||
" and not test_healthy_venv_creator"
|
||||
;; Fatal error: Not a Git repository.
|
||||
" and not test_all_cmds"
|
||||
" and not test_try_repo"
|
||||
;; No module named 'pip._internal.cli.main'.
|
||||
" and not test_additional_dependencies_roll_forward"
|
||||
;; Assertion errors.
|
||||
" and not test_install_existing_hooks_no_overwrite"
|
||||
" and not test_uninstall_restores_legacy_hooks"))))
|
||||
(add-before 'reset-gzip-timestamps 'make-files-writable
|
||||
;; TODO: these tests fail with AssertionError. It may
|
||||
;; be possible to fix them.
|
||||
"not test_install_existing_hooks_no_overwrite"
|
||||
" and not test_uninstall_restores_legacy_hooks"
|
||||
" and not test_installed_from_venv"))))
|
||||
(add-before 'reset-gzip-timestamps 'make-gz-writable
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
;; Make sure .gz files are writable so that the
|
||||
;; 'reset-gzip-timestamps' phase can do its work.
|
||||
|
@ -1617,8 +1581,13 @@ (define-public pre-commit
|
|||
#t))))))
|
||||
(native-inputs
|
||||
`(("git" ,git-minimal)
|
||||
("python-covdefaults" ,python-covdefaults)
|
||||
("python-coverage" ,python-coverage)
|
||||
("python-distlib" ,python-distlib/next)
|
||||
("python-pytest" ,python-pytest)
|
||||
("python-re-assert" ,python-re-assert)))
|
||||
("python-pytest-env" ,python-pytest-env)
|
||||
("python-re-assert" ,python-re-assert)
|
||||
("which" ,which)))
|
||||
;; Propagate because pre-commit is also used as a module.
|
||||
(propagated-inputs
|
||||
`(("python-cfgv" ,python-cfgv)
|
||||
|
|
Loading…
Reference in a new issue