Skip to content

pre-commit

Framework for managing and maintaining multi-language pre-commit hooks

Multi-language package manager for pre-commit hooks. You specify a list of hooks you want and pre-commit manages the installation and execution of any hook written in any language before every commit. pre-commit is specifically designed to not require root access. If one of your developers doesn’t have node installed but modifies a JavaScript file, pre-commit automatically handles downloading and building node to run eslint without root.

dev

https://pre-commit.com/

all

Installation

1. Add WakeMeOps repository

curl -sSL https://raw.githubusercontent.com/upciti/wakemeops/main/assets/install_repository | sudo bash

2. Install pre-commit

sudo apt install pre-commit

Snippets

FROM wakemeops/minideb:bullseye

RUN install_packages \
    pre-commit=3.2.0*

USER 1001
- name: Install dependencies
  uses: upciti/wakemeops-action@v1
  with:
    packages: |
      pre-commit=3.2.0*

Download URLs

Version SHA256 Size (KB)
3.2.0 e93defed0190f0f41af65deebdbcb741c6f51c827f1fc2bfa74f50cd1314d2e3 8676
3.1.1 5edf66126b29c5c6c1211177ba62dd65049974db16312046ce3807d0a4c2799e 8678
3.1.0 6d993af74032eb35c43a13845c5848bdf6033de3351d17bfae2c75bee392ed8d 8678
3.0.4 644c4d609b6f3e57fe6ed4aa64878f33c946c1acf20464a1542861f204c8cb57 8752
3.0.2 9908b2d65226a18708c9f45d3f2cd3c6c4210bc46a786c9f55b126ab517accc1 8751
3.0.1 fe889db2cf836f89d53dbffbc2de9012bfc77fbf6b5ce639b8b4f3466927d674 8803
3.0.0 42ef4448b9cf1d02a65a79b49494e7bb3ddb82ecbaebd52f3ca9286d9bcb2f53 8803
2.21.0 2d5630742eb8d30233329acaf627f07407c5eae68d926bf07e4a436a8d766e96 8794
2.20.0 e2971efc83073e3d6f3ac80dfe3e34cb6b0ed8882a884f908da018dc8a82dc26 9464
2.20.0 eed468d18aeb346a6ad45bd71e3804670b5a601ba16ecebf99a76558d099b0fb 9464

Blueprints

Debian packages listed on this page are generated from op2deb YAML blueprints. Blueprints for pre-commit are versionned here.

Click here to see pre-commit ops2deb blueprints
https://github.com/upciti/wakemeops/blob/main/blueprints/dev/pre-commit/ops2deb.yml
- name: pre-commit
  version: 2.20.0
  architecture: all
  homepage: https://pre-commit.com/
  summary: framework for managing and maintaining multi-language pre-commit hooks
  description: |-
    Multi-language package manager for pre-commit hooks. You specify a list of
    hooks you want and pre-commit manages the installation and execution of any
    hook written in any language before every commit. pre-commit is specifically
    designed to not require root access. If one of your developers doesn’t have
    node installed but modifies a JavaScript file, pre-commit automatically handles
    downloading and building node to run eslint without root.
  fetch: https://github.com/pre-commit/pre-commit/releases/download/v{{version}}/pre-commit-{{version}}.pyz
  install:
    - pre-commit-{{version}}.pyz:/var/lib/pre-commit/pre-commit.pyz
    - content: |-
        #!/usr/bin/env sh
        exec python3 /var/lib/pre-commit/pre-commit.pyz
      path: /usr/bin/pre-commit

- name: pre-commit
  version: 2.20.0
  revision: "2"
  architecture: all
  homepage: https://pre-commit.com/
  summary: framework for managing and maintaining multi-language pre-commit hooks
  description: |-
    Multi-language package manager for pre-commit hooks. You specify a list of
    hooks you want and pre-commit manages the installation and execution of any
    hook written in any language before every commit. pre-commit is specifically
    designed to not require root access. If one of your developers doesn’t have
    node installed but modifies a JavaScript file, pre-commit automatically handles
    downloading and building node to run eslint without root.
  fetch: https://github.com/pre-commit/pre-commit/releases/download/v{{version}}/pre-commit-{{version}}.pyz
  install:
    - pre-commit-{{version}}.pyz:/usr/lib/pre-commit/pre-commit.pyz
    - content: |-
        #!/usr/bin/env sh
        exec python3 /usr/lib/pre-commit/pre-commit.pyz $@
      path: /usr/bin/pre-commit

- name: pre-commit
  matrix:
    versions:
      - 2.21.0
      - 3.0.0
      - 3.0.1
      - 3.0.2
      - 3.0.4
      - 3.1.0
      - 3.1.1
      - 3.2.0
  architecture: all
  homepage: https://pre-commit.com/
  summary: framework for managing and maintaining multi-language pre-commit hooks
  description: |-
    Multi-language package manager for pre-commit hooks. You specify a list of
    hooks you want and pre-commit manages the installation and execution of any
    hook written in any language before every commit. pre-commit is specifically
    designed to not require root access. If one of your developers doesn’t have
    node installed but modifies a JavaScript file, pre-commit automatically handles
    downloading and building node to run eslint without root.
  fetch: https://github.com/pre-commit/pre-commit/releases/download/v{{version}}/pre-commit-{{version}}.pyz
  install:
    - pre-commit-{{version}}.pyz:/usr/lib/pre-commit/pre-commit.pyz
    - content: |-
        #!/usr/bin/env sh
        exec python3 /usr/lib/pre-commit/pre-commit.pyz $@
      path: /usr/bin/pre-commit

The blueprint fetch keyword contains a URL template pointing to pre-commit releases. Downloaded files are locked in a lockfile versionned here.

Click here to see pre-commit release hashes
https://github.com/upciti/wakemeops/blob/main/blueprints/dev/pre-commit/ops2deb.lock.yml
- url: https://github.com/pre-commit/pre-commit/releases/download/v2.20.0/pre-commit-2.20.0.pyz
  sha256: 83afdec9f97cbb1d2a2fd7eae645ab732e9f7a3b60cfe499269fec03fb836c42
  timestamp: 2022-09-13 14:59:16+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v2.21.0/pre-commit-2.21.0.pyz
  sha256: 5b222bb00db637bb41feb96fded6838338bec0ae2c4f157d5ef1ad5f5060fb6a
  timestamp: 2022-12-26 02:34:48+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.0.0/pre-commit-3.0.0.pyz
  sha256: a7d9ffc50bd1f1035ce814c8aaaa4e917c20372c4bdcbf03427e1606693d952c
  timestamp: 2023-01-24 04:20:29+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.0.1/pre-commit-3.0.1.pyz
  sha256: 9be99ebc729d5b98b5e39bb046145b83a2021f09ba89434dea64d8b3bb5870fc
  timestamp: 2023-01-26 19:22:49+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.0.2/pre-commit-3.0.2.pyz
  sha256: c6c0e8c29a29386a6ac7c43a5878ca91c3a6a09d229c19a33ed930f475938958
  timestamp: 2023-01-30 02:34:16+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.0.4/pre-commit-3.0.4.pyz
  sha256: 2ba847c08c0eab281019da2b0a334ea2fdba0bd5eb8817e0dc5acad766267856
  timestamp: 2023-02-03 19:23:40+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.1.0/pre-commit-3.1.0.pyz
  sha256: 50b4680f15f38ae515a7b74a34ae59d6ee30b0385112ee52fc6653b8254df828
  timestamp: 2023-02-23 04:21:46+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.1.1/pre-commit-3.1.1.pyz
  sha256: 8e2080aa64525182cb0445222106bb22f5bed179d8ea33047f93874b68828ae9
  timestamp: 2023-02-28 04:24:15+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.2.0/pre-commit-3.2.0.pyz
  sha256: bed0c50a2ac4cd1209833f89b115e058d7b8bc120650cc3f69241e0b88d7cfa0
  timestamp: 2023-03-17 21:16:26+00:00

Badge

WakeMeOps

[![WakeMeOps](https://docs.wakemeops.com/badges/pre-commit.svg)](https://docs.wakemeops.com/packages/pre-commit)
<a href="https://docs.wakemeops.com/packages/pre-commit">
  <img src="https://docs.wakemeops.com/badges/pre-commit.svg"/>
</a>
.. image:: https://docs.wakemeops.com/badges/pre-commit.svg
:target: https://docs.wakemeops.com/packages/pre-commit