1
0
Fork 0

Merging upstream version 0.18.0.

Signed-off-by: Daniel Baumann <daniel@debian.org>
This commit is contained in:
Daniel Baumann 2025-02-13 06:06:24 +01:00
parent 0453b640a2
commit 129d2ce1fc
Signed by: daniel
GPG key ID: FBB4F0E80A80222F
118 changed files with 4146 additions and 2087 deletions

View file

@ -7,21 +7,21 @@ jobs:
runs-on: "ubuntu-latest"
strategy:
matrix:
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", pypy3]
python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "3.11", pypy-3.9]
os: ["macos-latest", "ubuntu-latest"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3.0.2
with:
ref: ${{ github.event.pull_request.head.sha }} # Checkout pull request HEAD commit instead of merge commit
# Because gitlint is a tool that uses git itself under the hood, we remove git tracking from the checked out
# code by temporarily renaming the .git directory.
# code by temporarily renaming the .git directory.
# This is to ensure that the tests don't have a dependency on the version control of gitlint itself.
- name: Temporarily remove git version control from code
run: mv .git ._git
- name: Setup python
uses: actions/setup-python@v2
uses: actions/setup-python@v4.2.0
with:
python-version: ${{ matrix.python-version }}
@ -40,16 +40,28 @@ jobs:
# COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
# run: coveralls
# Patch the commit-msg hook to make it work in GH CI
# Specifically, within the commit-msg hook, wrap the invocation of gitlint with `script`
- name: Patch commit-msg hook
run: |
# Escape " to \"
sed -i -E '/^gitlint/ s/"/\\"/g' gitlint-core/gitlint/files/commit-msg
# Replace `gitlint <args>` with `script -e -q -c "gitlint <args>"`
sed -i -E 's/^gitlint(.*)/script -e -q -c "\0"/' gitlint-core/gitlint/files/commit-msg
- name: Integration Tests
run: ./run_tests.sh -i
- name: Integration Tests (GITLINT_USE_SH_LIB=0)
# Gitlint no longer uses `sh` by default, but for now we're still supporting the manual enablement of it.
# By setting GITLINT_USE_SH_LIB=1, we test whether this still works.
- name: Integration Tests (GITLINT_USE_SH_LIB=1)
env:
GITLINT_USE_SH_LIB: 0
GITLINT_USE_SH_LIB: 1
run: ./run_tests.sh -i
- name: PEP8
run: ./run_tests.sh -p
- name: Code formatting (black)
run: ./run_tests.sh -f
- name: PyLint
run: ./run_tests.sh -l
@ -79,25 +91,25 @@ jobs:
runs-on: windows-latest
strategy:
matrix:
python-version: [3.6]
python-version: ["3.10"]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3.0.2
with:
ref: ${{ github.event.pull_request.head.sha }} # Checkout pull request HEAD commit instead of merge commit
# Because gitlint is a tool that uses git itself under the hood, we remove git tracking from the checked out
# code by temporarily renaming the .git directory.
# code by temporarily renaming the .git directory.
# This is to ensure that the tests don't have a dependency on the version control of gitlint itself.
- name: Temporarily remove git version control from code
run: Rename-Item .git ._git
- name: Setup python
uses: actions/setup-python@v2
uses: actions/setup-python@v4.2.0
with:
python-version: ${{ matrix.python-version }}
- name: "Upgrade pip on Python 3"
if: matrix.python-version == '3.6'
if: matrix.python-version == '3.10'
run: python -m pip install --upgrade pip
- name: Install requirements
@ -126,8 +138,8 @@ jobs:
run: pytest -rw -s qa
continue-on-error: true # Known to fail at this point
- name: PEP8
run: flake8 gitlint-core qa examples
- name: Code formatting (black)
run: black .
- name: PyLint
run: pylint gitlint-core\gitlint qa --rcfile=".pylintrc" -r n