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=4.0.1*

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

Download URLs

Version SHA256 Size (KB)
4.0.1 13fccf4e18793611396b5fb0ed4617e015e90c055d0b3dc2d5dba8352287220e 7364
4.0.0 65b538682ff415ef311bdb94b6162d98029a9713d3c9c66b5a3528129b19a123 7364
3.8.0 882bc8d7122e0eef82af691cec838fab7394632ece2341ebf345ba56c1cef65b 8116
3.7.1 50dce82a43f254d52976a0977d2d420b85fdaf0911e0d8cbda508c55c79e0d4a 5163
3.7.0 1f17024451849edc7861238566a322d146d2af4704797882520761f92744f3b9 4956
3.6.2 3a95c6727951dae172c06b70cd0567579162cd2a859606bf5cb2cd83281dc519 4967
3.6.1 8316452ad7ace321802aeb41b5b4319ce1c8cb392bbfe53591ae3c28c1504ce6 4933
3.6.0 a10b7978a4f6b1c33523b3f28798aed038b20edba0c65af97f9b10d250844c99 4922
3.5.0 7c042dde07dc971b438a5b37cbcadfbdf0d8e2fee4ea808226c65b6049a4673a 4789
3.4.0 d1ba1cd393d88c98fd4cf9a54ca1095f765592240ff512abb638720b69f9d06b 4821

Blueprints

Debian packages listed on this page are generated from op2deb YAML blueprints. Blueprints for pre-commit are versioned 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
matrix:
  versions:
    - 2.20.0
    - 2.21.0
    - 3.0.0
    - 3.0.1
    - 3.0.2
    - 3.0.4
    - 3.1.0
    - 3.1.1
    - 3.2.0
    - 3.2.1
    - 3.2.2
    - 3.3.0
    - 3.3.1
    - 3.3.2
    - 3.3.3
    - 3.4.0
    - 3.5.0
    - 3.6.0
    - 3.6.1
    - 3.6.2
    - 3.7.0
    - 3.7.1
    - 3.8.0
    - 4.0.0
    - 4.0.1
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.
depends:
  - python3.11-build-standalone
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 /usr/lib/python-build-standalone/3.11/bin/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 versioned 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
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.2.1/pre-commit-3.2.1.pyz
  sha256: 1526dca6f6568b94cc992aa02bd9f096c2dbbb8745196c220b63fb81c324dce6
  timestamp: 2023-03-25 18:20:32+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.2.2/pre-commit-3.2.2.pyz
  sha256: 751c8a20367fea3e9137bcbb30b4f918424d4ccaa1eca1a294a633c4207a973a
  timestamp: 2023-04-03 21:14:58+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.3.0/pre-commit-3.3.0.pyz
  sha256: 54f60f7529054782223e39fd1393dfc2cce7263e29778b9b6181421c21d63c67
  timestamp: 2023-05-02 01:24:33+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.3.1/pre-commit-3.3.1.pyz
  sha256: f4f020fa071c4fd626c1e43126b54aae544f59eb21dd4e16b4e9d121d9ea8312
  timestamp: 2023-05-02 18:20:54+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.3.2/pre-commit-3.3.2.pyz
  sha256: 9541d6812886128fdc76cf88cca3f45bdfdfb1e763a9f95cf640ca92949bacb3
  timestamp: 2023-05-18 01:24:23+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.3.3/pre-commit-3.3.3.pyz
  sha256: fd8a46bc733fb5f78eaa91dd90995af4006cfe7c7dd843dced7b9a4db2ea3131
  timestamp: 2023-06-14 01:41:07+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.4.0/pre-commit-3.4.0.pyz
  sha256: 46d184649e67ee458306bb00a765ff169c9a34ffc7b3af1704b9b50013c81939
  timestamp: 2023-09-02 18:18:34+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.5.0/pre-commit-3.5.0.pyz
  sha256: 631809cb10aff6f3a71e9803e75ac8cb2ab46c5eeb584151a62a2e8f11ed3a38
  timestamp: 2023-10-13 18:22:27+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.6.0/pre-commit-3.6.0.pyz
  sha256: f2243f64424bfdfe8cfd0ea849f474075dca532617d521abbdc61ba1280fb6fd
  timestamp: 2023-12-11 11:25:21+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.6.1/pre-commit-3.6.1.pyz
  sha256: 83d297dbf738e68a714b37ebe2ad2991eb66c81f18ad341c8a65d3fb60d60c27
  timestamp: 2024-02-10 21:05:24+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.6.2/pre-commit-3.6.2.pyz
  sha256: 9527ba70d9826c4692387ac92752fe28f30eae16c691d810909aefbb73e4fccc
  timestamp: 2024-02-19 00:21:30+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.7.0/pre-commit-3.7.0.pyz
  sha256: 57e16b1cec3ad3d7857428e79778b213b264d83c0913d7ad0b703f4d336de6e0
  timestamp: 2024-03-24 18:06:39+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.7.1/pre-commit-3.7.1.pyz
  sha256: a0349324f0f53b08d00eb473b5f6646c8a07f3253703c09b977b0b9b9476d486
  timestamp: 2024-05-11 03:05:59+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v3.8.0/pre-commit-3.8.0.pyz
  sha256: b312004805aea01a9a84adbd1d5d8415cd4b1f7217045453547a5723c3e6f873
  timestamp: 2024-07-28 21:07:01+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v4.0.0/pre-commit-4.0.0.pyz
  sha256: d3216c9da072c083f364e0021e1c38a2e531b144275330bbc1109d879db5eacf
  timestamp: 2024-10-05 21:05:52+00:00
- url: https://github.com/pre-commit/pre-commit/releases/download/v4.0.1/pre-commit-4.0.1.pyz
  sha256: f3e65c943795be7879e7ea2beda248321b6c8ae851dabc785522a432fb8ce003
  timestamp: 2024-10-08 18:07:50+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