Age | Commit message (Collapse) | Author |
|
This release was primarily focussed on modernizing gitlint's build and test
tooling (details: #378).
General
Python 3.6 no longer supported (EOL since 2021-12-23) (#379)
This is the last release to support the sh library (used under-the-hood to
execute git commands) by setting GITLINT_USE_SH_LIB=1. This is already
disabled by default since v0.18.0.
Features
Allow for a single commit in the --commits cmd-line param (#412)
Gitlint now separates FILE_ENCODING (always UTF-8) from TERMINAL_ENCODING
(terminal dependent), this should improve issues with unicode. Use
gitlint --debug to inspect these values. (#424)
Bugfixes
ignore-by-author-name crashes without --staged (#445)
Various documentation fixes (#401, #433) - Thanks scop
Development
Adopted hatch for project management (#384). This significantly improves
the developer workflow, please read the updated CONTRIBUTING page.
Adopted ruff for linting, replacing pylint (#404)
Gitlint now publishes dev builds on every commit to main (#429)
Gitlint now publishes a latest_dev docker image on every commit to
main (#451) (#452)
Dependencies updated
Many improvements to the CI/CD worfklows
Improve unit test coverage (#453)
Integration test fixes on windows (#392, #397)
Devcontainer improvements (#428)
Removal of Dockerfile.dev (#390)
Fix most integration tests on Windows
Fix Windows unit tests (#383)
Introduce a gate/check GHA job (#375)
Full Release details in CHANGELOG.md.
|
|
- Renamed checks.yml to ci.yml
- Add concurrency control to ci to auto-cancel outdated ci runs
- Publish releases to pypi instead of test.pypi.org
|
|
A new GHA workflow that publishes gitlint when new gitlint releases are
created on github.
|
|
Fixes unit test coverage upload to coveralls.io
Results:
https://coveralls.io/github/jorisroovers/gitlint
|
|
- pytest: 7.2.0 -> 7.2.1
- black: 22.10.0 -> 23.1.0
- ruff: 0.0.244 -> 0.0.252
- pdr: 0.7.5 -> 0.8.2
|
|
- Updated changelog for upcoming 0.19.0 release
- Changed CHANGELOG format with more headers
- Simple changelog.py script that generates rough changelog outline
|
|
Improves and fixes some existing unit tests.
Adds a few new tests.
|
|
The publish-release now passes its secrets to publish-docker which is
required for the publish-docker workflow to access the docker login
credentials.
|
|
- Support for pushing to dockerhub
- Testing of docker image post release
- Separation of gitlint_version from docker_image_tag. This allows
for pushing latest and latest_dev images.
- Auto publish latest_dev image on every commit on main
|
|
This allows for the gitlint docker image to be build and pushed
on-demand.
|
|
Removing hardcoded UTF-8 terminal encoding in expected files.
|
|
Before only publishing to test.pypi.org was supported, now also to
pypi.org.
The automatic dev builds (on main) now get pushed to pypi.org.
Also updates docs, and publish workflow runtime name.
|
|
Integration tests for rules that use regexes.
The targetted rules don't really do anything unless they have a custom
regex set. Since a default gitlint run doesn't meaningfully tests these
rules, explicit tests for these rules ensure they work properly.
|
|
Modern git does commit message cleanup by default (e.g. removing trailing
whitespace). We disable this during integration testing by setting:
git config commit.cleanup=verbatim
|
|
If the user has an ignore-by-author-name rule configured, and when manually
passing a git commit message to gitlint using --msg-filename or via STDIN
without also using the --staged flag, gitlint crashes because
commit.author_name is unknown.
This fix will print a warning instead and skip the rule.
Fixes #403.
|
|
This comment no longer makes sense in the current codebase.
|
|
Adds a section to the Contributing docs that explains how to install dev
builds.
|
|
Fixed or supressed new violations.
|
|
This allows for re-use of the 'dev' environment between different git branches.
|
|
This enables traceability from the build to the source code for
gitlint-core.
|
|
This enables traceability from the build to the source code.
|
|
By increasing the timeout to 10min, we further increase the odds that PYPI
package replication to all servers has finished before triggering the
test-release workflow.
|
|
Bumps python from 3.11.1-alpine to 3.11.2-alpine.
---
updated-dependencies:
- dependency-name: python
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
This will increase the odds of PYPI package replication to all servers having
finished.
|
|
* Use same placeholder `rev` comment for both pre-commit examples
* Fix `--commits` special references example
|
|
It takes a short time for packages to show up on PyPI after publishing.
Wait for the gitlint package to show up before starting the post-release
test run by trying to install the gitlint package, and retrying after a
timeout until the package is available.
|
|
This should ensure the screenshot is correctly displayed on PyPI.
|
|
When invoking the publish-release from the checks workflows on main,
pass all secrets. This is required for PYPI secrets to be available.
|
|
Also perform hatch download before gitlint install in test-release
workflow. This buys us a little more time for the package to show up on
PyPI before trying to install and test it.
|
|
Renames DEFAULT_ENCODING to TERMINAL_ENCODING in the debug output.
Adds FILE_ENCODING to the debug output.
|
|
Added extra extensions, configured black.
|
|
Distinguish between terminal encoding (now TERMINAL_ENCODING,
renamed from DEFAULT_ENCODING) and file encoding (FILE_ENCODING).
Before, gitlint always decoded files using the terminal encoding
(DEFAULT_ENCODING) which can be problematic in cases where the terminal
encoding is non UTF-8.
File encoding is hard set to UTF-8.
|
|
Fixes issues with calling the test-release.yml workflow after publishing.
|
|
Automatically run integration tests on newly released packages.
|
|
Without this line, the gitlint wheel is missing it's dependency on
gitlint-core.
|
|
For now, this can only be used for publishing the main branch
and publishing to test.pypi.org.
|
|
Currently only builds packages, follow-up will also publish to test.pypi.org.
Also renames the Test Release workflow (and some vars in it).
|
|
Added workflow inputs for:
- PyPI repository to use
- Git reference to checkout for integration tests
|
|
Allows testing released gitlint versions.
|
|
Use hatch-vcs for gitlint and gitlint-core versioning.
Use a custom build hook in hatch_build.py to ensure the gitlint
and gitlint-core versions always match.
|
|
Windows testing now also happens on all supported Python versions.
|
|
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.4.0 to 4.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](https://github.com/actions/setup-python/compare/v4.4.0...v4.5.0)
---
updated-dependencies:
- dependency-name: actions/setup-python
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Aligned with VSCode extension Even-Better-TOML which uses tamasfe/taplo.
|
|
In order to avoid applications needing to select between `--commit` and
`--commits` based on the number of commits, allow for providing a single
commit with `--commits` in the format:
$ gitlint --commits <sha>,
The trailing comma ensures that gitlint knows this is a commit list and
not a refspec.
Signed-off-by: Carles Cufi carles.cufi@nordicsemi.no
|
|
Mention of autoformat and autofix hatch scripts.
|
|
Ruff replaces pylint
|
|
Enable additional styling rules for ruff and fix related violations.
|
|
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3.2.0...v3.3.0)
---
updated-dependencies:
- dependency-name: actions/checkout
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
|
Enforcing imports to be sorted using ruff (isort).
|
|
Also fixes a few items that were marked as issues by ruff.
|