diff --git a/.commitlintrc.yml b/.commitlintrc.yml deleted file mode 100644 index 7ed6a30d..00000000 --- a/.commitlintrc.yml +++ /dev/null @@ -1,3 +0,0 @@ ---- -extends: - - '@commitlint/config-conventional' diff --git a/.dockerignore b/.dockerignore index be870c04..ed625e50 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,5 +1,4 @@ node_modules -.commitlintrc.yml commitlint.config.js action.yml .github diff --git a/.github/workflows/commitlint.yml b/.github/workflows/commitlint.yml index a2d87b13..278a00fa 100644 --- a/.github/workflows/commitlint.yml +++ b/.github/workflows/commitlint.yml @@ -10,26 +10,43 @@ jobs: fetch-depth: 0 - run: sed -i -E "s/(docker:.+)/Dockerfile/" ./action.yml - run: echo -n '' > .dockerignore + - uses: actions/setup-node@v2 + with: + node-version: '14' + - uses: actions/cache@v2 + with: + path: | + ~/.npm + **/node_modules + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + - run: npm install - uses: ./ id: run_commitlint + env: + NODE_PATH: ${{ github.workspace }}/node_modules - name: Show results from JSON output if: ${{ always() }} run: echo ${{ toJSON(steps.run_commitlint.outputs.results) }} - commitlint-with-yml-file: + commitlint-pulling-from-docker-hub: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 with: fetch-depth: 0 - - run: sed -i -E "s/(docker:.+)/Dockerfile/" ./action.yml - - run: echo -n '' > .dockerignore - - uses: ./ + - uses: actions/setup-node@v2 with: - configFile: './.commitlintrc.yml' - commitlint-pulling-from-docker-hub: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 + node-version: '14' + - uses: actions/cache@v2 with: - fetch-depth: 0 + path: | + ~/.npm + **/node_modules + key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }} + restore-keys: | + ${{ runner.os }}-node- + - run: npm install - uses: ./ + env: + NODE_PATH: ${{ github.workspace }}/node_modules diff --git a/CHANGELOG.md b/CHANGELOG.md index a0a1eff1..9666e968 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,8 @@ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines. +### [2.2.3](https://github.com/wagoid/commitlint-github-action/compare/v2.2.2...v2.2.3) (2021-02-15) + ### [2.2.2](https://github.com/wagoid/commitlint-github-action/compare/v2.2.1...v2.2.2) (2021-02-10) ### [2.2.1](https://github.com/wagoid/commitlint-github-action/compare/v2.2.0...v2.2.1) (2021-02-10) diff --git a/README.md b/README.md index 3213ff87..80bde6d5 100644 --- a/README.md +++ b/README.md @@ -134,7 +134,7 @@ jobs: fetch-depth: 0 - uses: actions/setup-node@v1 with: - node-version: '10.x' + node-version: '14' - run: npm install # Run the commitlint action, considering its own dependencies and yours as well 🚀 # `github.workspace` is the path to your repository. diff --git a/action.yml b/action.yml index 211ef8df..5e9644ed 100644 --- a/action.yml +++ b/action.yml @@ -33,7 +33,7 @@ outputs: description: The error and warning messages for each one of the analyzed commits runs: using: docker - image: docker://wagoid/commitlint-github-action:2.2.2 + image: docker://wagoid/commitlint-github-action:2.2.3 branding: icon: check-square color: blue diff --git a/commitlint.config.js b/commitlint.config.js index 98ee7dfc..072ad141 100644 --- a/commitlint.config.js +++ b/commitlint.config.js @@ -1,3 +1,27 @@ +const { maxLineLength } = require('@commitlint/ensure') + +const bodyMaxLineLength = 100 + +const validateBodyMaxLengthIgnoringDeps = parsedCommit => { + const { type, scope, body } = parsedCommit + const isDepsCommit = + type === 'chore' && (scope === 'deps' || scope === 'deps-dev') + + return [ + isDepsCommit || !body || maxLineLength(body, bodyMaxLineLength), + `body's lines must not be longer than ${bodyMaxLineLength}`, + ] +} + module.exports = { extends: ['@commitlint/config-conventional'], + plugins: ['commitlint-plugin-function-rules'], + rules: { + 'body-max-line-length': [0], + 'function-rules/body-max-line-length': [ + 2, + 'always', + validateBodyMaxLengthIgnoringDeps, + ], + }, } diff --git a/package-lock.json b/package-lock.json index 9c13eac3..d87f7d43 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "commitlint-github-action", - "version": "2.2.2", + "version": "2.2.3", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -644,18 +644,20 @@ } }, "@commitlint/ensure": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-9.1.2.tgz", - "integrity": "sha512-hwQICwpNSTsZgj/1/SdPvYAzhwjwgCJI4vLbT879+Jc+AJ6sj2bUDGw/F89vzgKz1VnaMm4D65bNhoWhG3pdhQ==", + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-11.0.0.tgz", + "integrity": "sha512-/T4tjseSwlirKZdnx4AuICMNNlFvRyPQimbZIOYujp9DSO6XRtOy9NrmvWujwHsq9F5Wb80QWi4WMW6HMaENug==", + "dev": true, "requires": { - "@commitlint/types": "^9.1.2", + "@commitlint/types": "^11.0.0", "lodash": "^4.17.19" }, "dependencies": { - "lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==" + "@commitlint/types": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz", + "integrity": "sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ==", + "dev": true } } }, @@ -901,6 +903,17 @@ "@commitlint/message": "^9.1.2", "@commitlint/to-lines": "^9.1.2", "@commitlint/types": "^9.1.2" + }, + "dependencies": { + "@commitlint/ensure": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/@commitlint/ensure/-/ensure-9.1.2.tgz", + "integrity": "sha512-hwQICwpNSTsZgj/1/SdPvYAzhwjwgCJI4vLbT879+Jc+AJ6sj2bUDGw/F89vzgKz1VnaMm4D65bNhoWhG3pdhQ==", + "requires": { + "@commitlint/types": "^9.1.2", + "lodash": "^4.17.19" + } + } } }, "@commitlint/test": { @@ -4382,6 +4395,23 @@ "resolved": "https://registry.npmjs.org/commitlint-jira-utils/-/commitlint-jira-utils-1.4.0.tgz", "integrity": "sha512-vW1eGt7cSwtk9I/jOfvxJpDJoSixIn5lq9gI2UOFbidkL4eqAbWFOk/g0NuYVQIF2k/xPZ2yzDr2mXfSCkqAFA==" }, + "commitlint-plugin-function-rules": { + "version": "1.1.20", + "resolved": "https://registry.npmjs.org/commitlint-plugin-function-rules/-/commitlint-plugin-function-rules-1.1.20.tgz", + "integrity": "sha512-uaWdKa1OI4s0upk0g/sCX2SOgggo+3FCQk7omZxfm0caMj0NgbgEcYulcslFhHRYLc/FjhJfnL2cxPXEldRFWQ==", + "dev": true, + "requires": { + "@commitlint/types": "11.0.0" + }, + "dependencies": { + "@commitlint/types": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/@commitlint/types/-/types-11.0.0.tgz", + "integrity": "sha512-VoNqai1vR5anRF5Tuh/+SWDFk7xi7oMwHrHrbm1BprYXjB2RJsWLhUrStMssDxEl5lW/z3EUdg8RvH/IUBccSQ==", + "dev": true + } + } + }, "commitlint-plugin-jira-rules": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/commitlint-plugin-jira-rules/-/commitlint-plugin-jira-rules-1.4.0.tgz", diff --git a/package.json b/package.json index 7b25b011..bb8444c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "commitlint-github-action", - "version": "2.2.2", + "version": "2.2.3", "description": "commitlint github action", "private": true, "main": "run.js", @@ -34,8 +34,10 @@ }, "devDependencies": { "@commitlint/cli": "^11.0.0", + "@commitlint/ensure": "^11.0.0", "@commitlint/test": "^9.0.1", "@commitlint/test-environment": "^9.0.1", + "commitlint-plugin-function-rules": "^1.1.20", "conventional-changelog-cli": "^2.1.0", "husky": "^3.1.0", "jest": "^24.9.0",