Skip to content

Commit

Permalink
ci: addition of commit message checker
Browse files Browse the repository at this point in the history
  • Loading branch information
tiborsimko committed Dec 13, 2023
1 parent 00d7c32 commit c1cd58c
Show file tree
Hide file tree
Showing 3 changed files with 58 additions and 9 deletions.
21 changes: 21 additions & 0 deletions .commitlintrc.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
rules:
body-case: [2, always, sentence-case]
body-full-stop: [2, always]
body-leading-blank: [2, always]
body-max-line-length: [2, always, 100]
footer-leading-blank: [2, always]
footer-max-line-length: [2, always, 100]
header-max-length: [2, always, 100]
scope-case: [2, always, lower-case]
subject-case:
- 2
- never
- [upper-case, camel-case, kebab-case, pascal-case, sentence-case, snake-case, start-case]
subject-empty: [2, never]
subject-full-stop: [2, never, "."]
type-case: [2, always, lower-case]
type-empty: [2, never]
type-enum:
- 2
- always
- [build, chore, ci, docs, feat, fix, perf, refactor, revert, style, test]
26 changes: 25 additions & 1 deletion .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,30 @@ name: CI
on: [push, pull_request]

jobs:
lint-commitlint:
runs-on: ubuntu-20.04
steps:
- name: Checkout
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Setup Node
uses: actions/setup-node@v4

- name: Install commitlint
run: |
npm install conventional-changelog-conventionalcommits
npm install commitlint@latest
- name: Check commit message compliance of the recently pushed commit
if: github.event_name == 'push'
run: npx commitlint --from HEAD~1 --to HEAD --verbose

- name: Check commit message compliance of the pull request
if: github.event_name == 'pull_request'
run: npx commitlint --from ${{ github.event.pull_request.head.sha }}~${{ github.event.pull_request.commits }} --to ${{ github.event.pull_request.head.sha }} --verbose

lint-shellcheck:
runs-on: ubuntu-20.04
steps:
Expand All @@ -18,7 +42,7 @@ jobs:
- name: Runs shell script static analysis
run: |
sudo apt-get install shellcheck
./run-tests.sh --check-shellscript
./run-tests.sh --check-shellcheck
lint-black:
runs-on: ubuntu-20.04
Expand Down
20 changes: 12 additions & 8 deletions run-tests.sh
Original file line number Diff line number Diff line change
@@ -1,21 +1,23 @@
#!/bin/bash
#!/bin/sh
#
# This file is part of REANA.
# Copyright (C) 2018, 2020, 2021 CERN.
# Copyright (C) 2018, 2020, 2021, 2023 CERN.
#
# REANA is free software; you can redistribute it and/or modify it
# under the terms of the MIT License; see LICENSE file for more details.

# Quit on errors
set -o errexit

# Quit on unbound symbols
set -o nounset

check_script () {
check_shellscript () {
shellcheck run-tests.sh
}

check_commitlint () {
from=${2:-master}
npx commitlint --from="$from" --verbose
}

check_pydocstyle () {
pydocstyle pytest_reana
}
Expand All @@ -41,7 +43,8 @@ check_pytest () {
}

check_all () {
check_script
check_commitlint
check_shellcheck
check_pydocstyle
check_black
check_flake8
Expand All @@ -58,7 +61,8 @@ fi
for arg in "$@"
do
case $arg in
--check-shellscript) check_script;;
--check-commitlint) check_commitlint "$@";;
--check-shellscript) check_shellscript;;
--check-pydocstyle) check_pydocstyle;;
--check-black) check_black;;
--check-flake8) check_flake8;;
Expand Down

0 comments on commit c1cd58c

Please sign in to comment.