Skip to content

Commit

Permalink
Setup gitlint
Browse files Browse the repository at this point in the history
  • Loading branch information
buberdds committed Nov 27, 2023
1 parent 5c32aad commit 7f33584
Show file tree
Hide file tree
Showing 4 changed files with 55 additions and 1 deletion.
14 changes: 14 additions & 0 deletions .github/workflows/ci-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,13 +22,27 @@ jobs:
with:
# Checkout pull request HEAD commit instead of merge commit.
ref: ${{ github.event.pull_request.head.sha }}
# Fetch all history so gitlint can check the relevant commits.
fetch-depth: '0'
- name: Set up Python 3
uses: actions/setup-python@v4
with:
python-version: '3.x'
- name: Set up Node.js 20
uses: actions/setup-node@v4
with:
node-version: '20.x'
cache: yarn
- name: Install dependencies
run: yarn install --frozen-lockfile
- name: Install gitlint
run: |
python -m pip install gitlint
- name: Lint git commits
run: |
yarn lint-git
# Always run this step so that all linting errors can be seen at once.
if: always()
- name: ESLint
# Disallow warnings and always throw errors.
run: yarn lint
Expand Down
24 changes: 24 additions & 0 deletions .gitlint
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# gitlint configuration.

# For more information, see:
# https://jorisroovers.com/gitlint/configuration/.

[general]
verbosity = 2
ignore-merge-commits=true
ignore-fixup-commits=false
ignore-squash-commits=false
ignore=body-is-missing
contrib=contrib-disallow-cleanup-commits

[title-max-length]
line-length=72

[body-max-line-length]
line-length=80

[body-min-length]
min-length=20

[title-must-not-contain-word]
words=wip
16 changes: 16 additions & 0 deletions internals/scripts/gitlint.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// @ts-check
// https://github.com/oasisprotocol/oasis-core/blob/50d972df71fed2bcaa88e6ce5430d919ec08087d/common.mk#L171-L180
const execSync = require('child_process').execSync

const GIT_ORIGIN_REMOTE = 'origin'
const RELEASE_BRANCH = 'master'
const BRANCH = `${GIT_ORIGIN_REMOTE}/${RELEASE_BRANCH}`
const COMMIT_SHA = require('child_process').execSync(`git rev-parse ${BRANCH}`).toString().trim()

console.log(`*** Running gitlint for commits from ${BRANCH} (${COMMIT_SHA})`)

try {
execSync(`gitlint --commits ${BRANCH}..HEAD`, { stdio: 'inherit' })
} catch (error) {
process.exit(1)
}
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,12 @@
"name": "dapp-wrose",
"private": true,
"version": "0.0.0",
"type": "module",
"scripts": {
"build": "tsc && vite build",
"checkTs": "tsc --noEmit",
"dev": "vite",
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
"lint-git": "node ./internals/scripts/gitlint.js",
"prettify": "prettier src --write",
"preview": "vite preview"
},
Expand Down

0 comments on commit 7f33584

Please sign in to comment.