Skip to content

feat: update noxfile.py and readme #201

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 7 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 10 additions & 19 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,34 +21,26 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: '3.x'

- name: Install dependencies
run: |
pip install -r requirements-dev.txt
pip install -e .
- run: pip install -r requirements-dev.txt

- name: Run pre-commit
run: |
pre-commit run --all-files
pre-commit try-repo .
nox -s lint
nox -s test-hook

- name: Build wheel
run: python3 -m pip wheel --no-deps -w dist .
run: nox -s build
- name: Upload wheel as artifact
uses: actions/upload-artifact@v4
with:
name: commit-check_wheel
path: ${{ github.workspace }}/dist/*.whl
- name: Run commit-check
run: |
python3 -m pip install dist/*.whl
commit-check -h
commit-check --message --branch --author-email
run: nox -s commit-check

- name: Collect Coverage
run: |
coverage run --source commit_check -m pytest
coverage report && coverage xml
run: nox -s coverage

- uses: codecov/codecov-action@v5.0.2
with:
token: ${{ secrets.CODECOV_TOKEN }}
Expand Down Expand Up @@ -79,7 +71,7 @@ jobs:
- name: Install test
# using a wildcard as filename on Windows requires a bash shell
shell: bash
run: python3 -m pip install dist/*.whl
run: nox -s install-wheel

docs:
runs-on: ubuntu-latest
Expand All @@ -88,11 +80,10 @@ jobs:
- uses: actions/setup-python@v5
with:
python-version: "3.10"
- run: python -m pip install . -r docs/requirements.txt
- run: pip install -r requirements-dev.txt

- name: Build docs
working-directory: docs
run: sphinx-build -E -W -b html . _build/html
run: nox -s docs

- name: Save built docs as artifact
uses: actions/upload-artifact@v4
Expand Down
59 changes: 42 additions & 17 deletions README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,11 @@ Commit Check
Overview
--------

**Commit Check** is a free, powerful tool that enforces commit metadata standards, including commit message, branch naming, committer name/email, and commit signoff. Fully customizable with error messages and suggested commands, it ensures compliance across teams.
**Commit Check** is a free, powerful tool that enforces commit metadata standards, including commit message, branch naming, committer name/email, commit signoff and more.

As an alternative to GitHub Enterprise `Metadata restrictions <https://docs.github.com/en/enterprise-server@3.11/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#metadata-restrictions>`_ and Bitbucket's paid puglin `Yet Another Commit Checker <https://marketplace.atlassian.com/apps/1211854/yet-another-commit-checker?tab=overview&hosting=datacenter>`_, Commit Check stands out by integrating DevOps principles and Infrastructure as Code (IaC).
Fully customizable with error messages and suggested commands, it ensures compliance across teams.

As an alternative to GitHub Enterprise `Metadata restrictions <https://docs.github.com/en/enterprise-server@3.11/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/available-rules-for-rulesets#metadata-restrictions>`_ and Bitbucket's paid plugin `Yet Another Commit Checker <https://marketplace.atlassian.com/apps/1211854/yet-another-commit-checker?tab=overview&hosting=datacenter>`_, Commit Check stands out by integrating DevOps principles and Infrastructure as Code (IaC).

Configuration
-------------
Expand Down Expand Up @@ -70,7 +72,7 @@ Running as pre-commit hook
- repo: https://github.com/commit-check/commit-check
rev: the tag or revision
hooks: # support hooks
- id: check-message # requires hook prepare-commit-msg
- id: check-message # requires prepare-commit-msg hook
- id: check-branch
- id: check-author-name
- id: check-author-email
Expand All @@ -80,25 +82,25 @@ Running as pre-commit hook
Running as CLI
~~~~~~~~~~~~~~

Global Installation
Install globally

.. code-block:: bash

sudo pip3 install -U commit-check

User Installation
Install locally

.. code-block:: bash

pip install -U commit-check

Install from Git Repo
Install from source code

.. code-block:: bash

pip install git+https://github.com/commit-check/commit-check.git@main

Then, run ``commit-check`` from the command line. For more information, see the `docs <https://commit-check.github.io/commit-check/cli_args.html>`_.
Then, run ``commit-check --help`` from the command line. For more information, see the `docs <https://commit-check.github.io/commit-check/cli_args.html>`_.

Running as Git Hooks
~~~~~~~~~~~~~~~~~~~~
Expand All @@ -118,8 +120,8 @@ Save the script file as ``pre-push`` and make it executable:

Now, ``git push`` will trigger this hook automatically.

Example
-------
Examples
--------

Check Commit Message Failed

Expand Down Expand Up @@ -155,24 +157,47 @@ Check Branch Naming Failed

Commit rejected by Commit-Check.

(c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c)
/ ._. \ / ._. \ / ._. \ / ._. \ / ._. \
__\( C )/__ __\( H )/__ __\( E )/__ __\( C )/__ __\( K )/__
(c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c)
/ ._. \ / ._. \ / ._. \ / ._. \ / ._. \
__\( C )/__ __\( H )/__ __\( E )/__ __\( C )/__ __\( K )/__
(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
|| E || || R || || R || || O || || R ||
_.' '-' '._ _.' '-' '._ _.' '-' '._ _.' '-' '._ _.' '-' '._
|| E || || R || || R || || O || || R ||
_.' '-' '._ _.' '-' '._ _.' '-' '._ _.' '-' '._ _.' '-' '._
(.-./`-´\.-.)(.-./`-´\.-.)(.-./`-´\.-.)(.-./`-´\.-.)(.-./`-´\.-.)
`-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´
`-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´

Commit rejected.

Type branch check failed => my-test-branch
Type branch check failed => patch-1
It doesn't match regex: ^(bugfix|feature|release|hotfix|task|chore)\/.+|(master)|(main)|(HEAD)|(PR-.+)

Branches must begin with these types: bugfix/ feature/ release/ hotfix/ task/ chore/
Suggest: run command `git checkout -b type/branch_name`


Check Commit Signature Failed

.. code-block:: text

Commit rejected by Commit-Check.

(c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c)
/ ._. \ / ._. \ / ._. \ / ._. \ / ._. \
__\( C )/__ __\( H )/__ __\( E )/__ __\( C )/__ __\( K )/__
(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
|| E || || R || || R || || O || || R ||
_.' '-' '._ _.' '-' '._ _.' '-' '._ _.' '-' '._ _.' '-' '._
(.-./`-´\.-.)(.-./`-´\.-.)(.-./`-´\.-.)(.-./`-´\.-.)(.-./`-´\.-.)
`-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´ `-´

Commit rejected.

Type commit_signoff check failed => c92ce259ff041c91859c7fb61afdbb391e769d0f
It doesn't match regex: Signed-off-by:.*[A-Za-z0-9]\s+<.+@.+>
Signed-off-by not found in latest commit
Suggest: run command `git commit -m "conventional commit message" --signoff`



Badging your repository
-----------------------

Expand Down
10 changes: 8 additions & 2 deletions noxfile.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
import glob

nox.options.reuse_existing_virtualenvs = True
nox.options.reuse_venv = True
nox.options.sessions = ["lint"]

REQUIREMENTS = {
Expand Down Expand Up @@ -66,6 +65,13 @@ def coverage(session):

@nox.session()
def docs(session):
session.install("-e", ".")
session.install(".")
session.install("-r", REQUIREMENTS["docs"])
session.run("sphinx-build", "-E", "-W", "-b", "html", "docs", "_build/html")


@nox.session(name="docs-live")
def docs_live(session):
session.install(".")
session.install("-r", REQUIREMENTS["docs"], "sphinx-autobuild")
session.run("sphinx-autobuild", "-b", "html", "docs", "_build/html")
2 changes: 1 addition & 1 deletion requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
coverage
nox
git+https://github.com/wntrblm/nox.git@main
pre-commit
pytest
pytest-mock
Loading