Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/albertoeaf/git-sign-off

Scripts to generate and validate git signatures after you pass certain challenges/tests/tasks.
https://github.com/albertoeaf/git-sign-off

certificate git-sign signature signature-check

Last synced: 16 days ago
JSON representation

Scripts to generate and validate git signatures after you pass certain challenges/tests/tasks.

Awesome Lists containing this project

README

        

# git-sign-off

Add and check git signatures to your repository to check conditions/tasks automatically.

Do you like automation?! So do we!

Check any command success through `git sign-off` calls in your git pre-commit hooks. On your CI, check that they are up-to-date with a simple `git sign-off-check`.

This way you can even ensure your fellow developers have their hooks installed and running correctly.

# Installation

```bash
pip install git-sign-off
```

This installs programs `git-sign-off` and `git-sign-off-check`. Use them directly or through git commands.

# Usage

### Create certificate

Prove that a command ran successfully locally through:

```bash
git sign-off -c bash
```

If the "challenge" command executes successfully a certificate is added to your commit. You will then see the message:
> Added git-sign-off signature for task 'default'.

### Check certificate

Useful in CI or for other developers:

```bash
git sign-off-check
```
If your certificate is up-to-date you will see:
> Signature check for task 'default' passed.

If your certificate is not up-to-date you will have an error like:
>SignatureError: Outdated signature found. Latest signature was generated after commit:
>5c1537d3502b8bc17172b5a03a4531b010024754

# Using pre-commit

An easy way to use **git-sign-off** is through [`pre-commit`](https://pre-commit.com/) hooks.

To use it first install pre-commit:

```bash
pip install pre-commit
```

Then add a file named `.pre-commit-config.yaml` to your repo with the hook:

```yml
repos:
- repo: https://github.com/AlbertoEAF/git-sign-off
rev: master
hooks:
- id: git-sign-off
args: ["-c", "bash", ""]
```