apache / apache/cloudstack

Switch from `pre-commit` to `prek`

Open
#14,093 1 comment 0 reactions 0 assignees View on GitHub
component:build type:improvement
Dominant language
Java
Stars
3.1k
Forks
1.4k
Avg merge
6d 19h
Merged PRs (30d)
32

Description

"Although prek is pretty new, it's already powering real‑world projects like [CPython](https://github.com/python/cpython), [Apache Airflow](https://github.com/apache/airflow), [FastAPI](https://github.com/fastapi/fastapi), and more projects are picking it up—see [Who is using prek?](https://prek.j178.dev/#who-is-using-prek). If you're looking for an alternative to pre-commit, please give it a try—we'd love your feedback!"

https://github.com/j178/prek

https://prek.j178.dev

Example workflows:

https://github.com/apache/lucenenet/blob/master/.github/workflows/pre-commit.yml

https://github.com/apache/sedona/blob/master/.github/workflows/pre-commit-manual.yml

https://github.com/apache/sedona/blob/master/.github/workflows/pre-commit.yml

Quick read first:

https://github.com/apache/lucenenet/blob/master/PREK.md

Longer read:

https://github.com/apache/sedona/blob/master/docs/setup/compile.md#code-quality-checks-with-prek-uv-and-make

Example Makefile https://github.com/apache/sedona/blob/master/Makefile

refs https://github.com/apache/cloudstack/pull/8491

refs https://github.com/apache/cloudstack/pull/12836

ASF Approved:

https://github.com/apache/infrastructure-actions/blob/1affe4095bb84ec7d39f229556b6906232d39c92/approved_patterns.yml#L229

Contributor guide

Open the contributing guide

Research direction

Begin by locating CloudStack's current pre-commit configuration, GitHub workflow entry points, and Makefile targets; the issue does not name their paths. Compare those entry points with the linked Lucene.NET and Sedona PREK.md and workflow examples, then verify that the existing checks run successfully with prek and the old pre-commit path is no longer used.

Written by the indexing model from the issue text.

Assessment

Domain
build-system, ci-cd, tooling
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
52/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.