This is nabla_custom hooks package
Project description
nabla-hooks
Nabla custom git hooks
This project intend to be uses by all Nabla products
Table of contents
- Requirements
- Install nabla-hooks as a developer
- Install nabla-hooks to use it
- Add .pre-commit-config.yaml in you git project
- Override global environement variable
- Local
- Global
- Package nabla-hooks as a developer
- Test nabla-hooks as a developer
- Update README.md Table of Contents
Requirements
This hooks requires the following to run:
See requirements.txt for mandatory packages.
This pre-commit hooks requires the following to run:
Install nabla-hooks as a developer
Using virtualenv
Install python 3.8 and virtualenv
virtualenv --no-site-packages /opt/ansible/env38 -p python3.8
source /opt/ansible/env38/bin/activate
```bash
pip3.8 install -r hooks/requirements.txt -r requirements.testing.txt
Install nabla-hooks to use it
Using Pip
pip install nabla-hooks
From Source
pip install git+https://github.com/AlbanAndrieu/nabla-hooks.git
Add .pre-commit-config.yaml in you git project
- create .pre-commit-config.yaml in you git project
example .pre-commit-config.yaml as following:
- repo: https://github.com/AlbanAndrieu/nabla-hooks.git
rev: v1.0.0
hooks:
- id: git-branches-check
Testing locally
- repo: local
hooks:
- id: git-branches-check
name: GIT branches check
description: Check for old stale and already merged branches from the current repo with user friendly messages and colors
entry: pre_commit_hooks/git-branches-check.sh
language: script
types: [shell]
always_run: true
verbose: true
args: [--max=1, --verbose]
$ pre-commit try-repo . git-branches-check --verbose
- Install in your repo
Run pre-commit install
pre-commit install -f --install-hooks
- enjoy it
Run pre-commit run --all-files
Run SKIP=flake8 git commit -am 'Add key'
Run git commit -am 'Add key' --no-verify
Override global environement variable
Login
See jira
With user/pass
export JIRA_USER=aandrieu
export JIRA_PASSWORD=XXX
export JIRA_URL=https://localhost/jira
export JIRA_CERT_PATH=/etc/ssl/certs/NABLA-CA-1.crt
export JIRA_CERT_PATH=/etc/ssl/certs/ca-certificates.crt
#### With email/token
```bash
export JIRA_USER=alban.andrieu@free.fr
export JIRA_PASSWORD=XXX # the token you generated
export JIRA_URL==https://localhost/jira
export JENKINS_URL=https://localhost/jenkins/
export JENKINS_USER=aandrieu
export JENKINS_USER_TOKEN=XXX
The Templates Directories
Local
First time run
cp -r hooks/* .git/hooks/` or `rm -Rf ./.git/hooks/ && ln -s ../hooks ./.git/hooks && git checkout thisrepo hooks/
Global
We have two directories that interest us:
The /usr/share/git-core/templates/
directory on Linux and C:/Program Files (x86)/Git/share/git-core/templates/
directory on Windows (Note that on 32bit machines msysGit is installed by default on 'C:/Program Files/…') in which the default hooks are being copied from. If you installed Git using another configuration the installation might reside in a different folder. Adjust the path accordingly.
The .git/hooks/
directory is the directory in which the hooks templates are being copied to.
The hooked are being copied from the [...]/share/git-core/templates/
directory. There are other types of templates but they are out of scope for this post.
Note: If you change the templates directory the hooks directory must be a subdirectory of the templates directory. Do not set the templates directory to the desired hooks directory instead.
Run
git config --global init.templatedir /workspace/users/albandrieu30/nabla-hooks/
Package nabla-hooks as a developer
See setup-cfg
Build a source distribution (a tar archive of all the files needed to build and install the package):
python3 setup.py sdist
Builds wheels:
python3 setup.py bdist_wheel
Build from source:
python3 setup.py build
And install:
/opt/ansible/env38/bin/python3 setup.py install
sudo python setup.py develop
pip install .
pip install -e ./
Upload a source distribution
See api-tokens
python3 setup.py sdist bdist_wheel nano $HOME/.pypirc python3 -m twine upload --repository testpypi dist/*
Uploaded nabla-hooks
Test nabla-hooks as a developer
shell usage
python
from hooks import get_msg match_msg
Test
tox --notest
tox -e py # Run tox using the version of Python in PATH
tox py38
From root directory
export PYTHONPATH=hooks
pytest --cache-clear --setup-show test/test_pytest.py
Visual Code
Add PYTHONPATH=hooks for pytest when inside visual studio
export PYTHONPATH=hooks
echo $PYTHONPATH
code .
Update README.md Table of Contents
npm install --save markdown-toc
brew install github-markdown-toc gh-md-toc --insert README.md
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for nabla_hooks-1.0.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | dd4be93a3b6d46515ccdcc789b4961170f8edc66e88261137c0f41ea99492926 |
|
MD5 | 6568f11ff3dfb11f5d227e5fee394cee |
|
BLAKE2b-256 | bf08fa058e6d629966fdd0bc67bc74ec5d4e5e8d092c2693fa885b086e58102f |