DiceDB / dice

DiceDB is a redis-compliant, reactive, scalable, highly-available, unified cache optimized for modern hardware.
https://dicedb.io/
Other
6.73k stars 1.07k forks source link

DevEx Improvement: Using Pre-Push Hooks to enforce CI Requirement on contributors' machines #675

Closed KaviiSuri closed 1 month ago

KaviiSuri commented 1 month ago

Problem

CI currently requires maintainer approval, which makes sense. However, it's easy for contributors to miss running integration tests, linters, or other CI steps. When a PR fails on CI, contributors must wait for approval just to view the results, slowing the feedback loop and causing loss of momentum.

Proposed Solution

We can use git pre-push hooks to run CI steps locally before pushing to GitHub, providing immediate feedback to contributors. This keeps the maintainer approval requirement for CI but helps catch issues earlier.

[!NOTE] Contributors can bypass the hook using --no-verify, which should be documented for WIP commits.

Ref: Git Pre-push Hook Guide

KaviiSuri commented 1 month ago

I'd be happy to help out on this, but i want to get a consensus on the problem and it's solution first since it affects all contributors and maintainers.

c-harish commented 1 month ago

I'd be happy to help out on this, but i want to get a consensus on the problem and it's solution first since it affects all contributors and maintainers.

Workflow approvals from maintainers are required only for first time contributors. Once you become a contributor, then you don't need to wait for approval anymore. They already had this discussion in discord.