
packaging.version.parse is dedicated to parse Python package version numbers but crate versions do not necessarily respect Python version number conventions and thus some crate versions cannot be parsed. Prefer to use looseversion.LooseVersion2 instead which in a drop-in replacement for deprecated distutils.version.LooseVersion and enables to parse all kind of version numbers.
56 lines
1.4 KiB
YAML
56 lines
1.4 KiB
YAML
repos:
|
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
rev: v4.4.0
|
|
hooks:
|
|
- id: trailing-whitespace
|
|
- id: check-json
|
|
- id: check-yaml
|
|
|
|
- repo: https://github.com/python/black
|
|
rev: 23.1.0
|
|
hooks:
|
|
- id: black
|
|
|
|
- repo: https://github.com/PyCQA/isort
|
|
rev: 5.12.0
|
|
hooks:
|
|
- id: isort
|
|
|
|
- repo: https://github.com/pycqa/flake8
|
|
rev: 6.0.0
|
|
hooks:
|
|
- id: flake8
|
|
additional_dependencies: [flake8-bugbear==22.9.23]
|
|
|
|
- repo: https://github.com/codespell-project/codespell
|
|
rev: v2.2.2
|
|
hooks:
|
|
- id: codespell
|
|
name: Check source code spelling
|
|
exclude: ^(swh/lister/.*/tests/data/.*)$
|
|
args: [-L crate]
|
|
stages: [commit]
|
|
- id: codespell
|
|
name: Check commit message spelling
|
|
args: [-L crate]
|
|
stages: [commit-msg]
|
|
|
|
- repo: local
|
|
hooks:
|
|
- id: mypy
|
|
name: mypy
|
|
entry: mypy
|
|
args: [swh]
|
|
pass_filenames: false
|
|
language: system
|
|
types: [python]
|
|
- id: twine-check
|
|
name: twine check
|
|
description: call twine check when pushing an annotated release tag
|
|
entry: bash -c "ref=$(git describe) &&
|
|
[[ $ref =~ ^v[0-9]+\.[0-9]+\.[0-9]+$ ]] &&
|
|
(python3 -m build --sdist && twine check $(ls -t dist/* | head -1)) || true"
|
|
pass_filenames: false
|
|
stages: [pre-push]
|
|
language: python
|
|
additional_dependencies: [twine, build]
|