talisman icon indicating copy to clipboard operation
talisman copied to clipboard

Talisman broken with pre-commit because the executable is not included

Open mpicard opened this issue 1 year ago • 1 comments

Describe the bug

When I run pre-commit run --all-files I get an error because the Talisman executable is not found. This is unconventional for a pre-commit hook. It says in the docs:

pre-commit currently supports hooks written in many languages. As long as your git repo is an installable package (gem, npm, pypi, etc.) or exposes an executable, it can be used with pre-commit.

source

Talisman is not installable with one of the supported package managers and it doesn't expose the binary because it assumes you already have it installed, which is not the way pre-commit hooks are supposed to work.

To Reproduce Steps to reproduce the behavior:

  1. (on a new machine) install pre-commit
  2. add a .pre-commit-config.yaml with:
repos:
- repo: https://github.com/thoughtworks/talisman
   rev: v1.31.0
   hooks:
    - id: talisman-commit
  1. run pre-commit run --all-files (or commit something to trigger pre-commit)
  2. See error

Expected behavior

pre-commit works as intended and executes talisman and exit 0 (if no secrets are found) as expected behavior of pre-comimt

Screenshots

Screenshot 2023-08-02 at 17 30 58

Desktop (please complete the following information):

  • OS: MacOS Ventura

mpicard avatar Aug 02 '23 15:08 mpicard

got the same issue with v1.31.0 in Win 11 + WSL2

Found a workaround from the pre-commit author here -> https://stackoverflow.com/a/68803356/5285606

repos:
  - repo: https://github.com/thoughtworks/talisman
    rev: v1.31.0
    hooks:
      - id: talisman-commit
        entry: cmd --githook pre-commit
      - id: talisman-push
        entry: cmd --githook pre-commit

ColdFire87 avatar Sep 14 '23 12:09 ColdFire87