Skip to content

Commit f96e7ed

Browse files
authored
Release 2.3.1 (#80)
The files distributed in the release 2.3.0 were not properly built, but this went unnoticed due to the lacking end-to-end tests. This release simply includes the distribution as it should have been included in 2.3.0.
1 parent 533c52e commit f96e7ed

File tree

4 files changed

+39
-13
lines changed

4 files changed

+39
-13
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ jobs:
6666
runs-on: ubuntu-latest
6767
steps:
6868
- name: Check
69-
uses: mristin/opinionated-commit-message@v2.3.0
69+
uses: mristin/opinionated-commit-message@v2.3.1
7070
```
7171
7272
## Checked Events

dist/index.js

+36-10
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,21 @@ function checkBody(subject, bodyLines) {
738738
}
739739
return errors;
740740
}
741+
const signedOffByRe = new RegExp('^\\s*Signed-off-by:\\s*[^<]+\\s*<[^@>, ]+@[^@>, ]+>\\s*$');
742+
function checkSignedOff(bodyLines) {
743+
const errors = [];
744+
let matches = 0;
745+
for (const line of bodyLines) {
746+
if (signedOffByRe.test(line)) {
747+
matches++;
748+
}
749+
}
750+
if (matches === 0) {
751+
errors.push("The body does not contain any 'Signed-off-by: ' line. " +
752+
'Did you sign off the commit with `git commit --signoff`?');
753+
}
754+
return errors;
755+
}
741756
const mergeMessageRe = new RegExp("^Merge branch '[^\\000-\\037\\177 ~^:?*[]+' " +
742757
'into [^\\000-\\037\\177 ~^:?*[]+$');
743758
function check(message, inputs) {
@@ -765,6 +780,9 @@ function check(message, inputs) {
765780
const subjectBody = maybeSubjectBody.subjectBody;
766781
errors.push(...checkSubject(subjectBody.subject, inputs));
767782
errors.push(...checkBody(subjectBody.subject, subjectBody.bodyLines));
783+
if (inputs.enforceSignOff) {
784+
errors.push(...checkSignedOff(subjectBody.bodyLines));
785+
}
768786
}
769787
}
770788
// Post-condition
@@ -2325,7 +2343,7 @@ module.exports = require("https");
23252343
/***/ 215:
23262344
/***/ (function(module) {
23272345

2328-
module.exports = {"_from":"@octokit/rest@^16.15.0","_id":"@octokit/rest@16.43.1","_inBundle":false,"_integrity":"sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==","_location":"/@octokit/rest","_phantomChildren":{"deprecation":"2.3.1","once":"1.4.0","os-name":"3.1.0"},"_requested":{"type":"range","registry":true,"raw":"@octokit/rest@^16.15.0","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"^16.15.0","saveSpec":null,"fetchSpec":"^16.15.0"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz","_shasum":"3b11e7d1b1ac2bbeeb23b08a17df0b20947eda6b","_spec":"@octokit/rest@^16.15.0","_where":"/home/marko/workspace/mristin/opinionated-commit-message/node_modules/@actions/github","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundleDependencies":false,"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"deprecated":false,"description":"GitHub REST API client for Node.js","devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"npm run -s update-endpoints:typescript","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"npm run -s lint","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"types":"index.d.ts","version":"16.43.1"};
2346+
module.exports = {"_args":[["@octokit/rest@16.43.1","C:\\Users\\rist\\workspace\\mristin\\opinionated-commit-message"]],"_from":"@octokit/rest@16.43.1","_id":"@octokit/rest@16.43.1","_inBundle":false,"_integrity":"sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==","_location":"/@octokit/rest","_phantomChildren":{"@types/node":"12.12.42","deprecation":"2.3.1","once":"1.4.0","os-name":"3.1.0"},"_requested":{"type":"version","registry":true,"raw":"@octokit/rest@16.43.1","name":"@octokit/rest","escapedName":"@octokit%2frest","scope":"@octokit","rawSpec":"16.43.1","saveSpec":null,"fetchSpec":"16.43.1"},"_requiredBy":["/@actions/github"],"_resolved":"https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz","_spec":"16.43.1","_where":"C:\\Users\\rist\\workspace\\mristin\\opinionated-commit-message","author":{"name":"Gregor Martynus","url":"https://github.com/gr2m"},"bugs":{"url":"https://github.com/octokit/rest.js/issues"},"bundlesize":[{"path":"./dist/octokit-rest.min.js.gz","maxSize":"33 kB"}],"contributors":[{"name":"Mike de Boer","email":"info@mikedeboer.nl"},{"name":"Fabian Jakobs","email":"fabian@c9.io"},{"name":"Joe Gallo","email":"joe@brassafrax.com"},{"name":"Gregor Martynus","url":"https://github.com/gr2m"}],"dependencies":{"@octokit/auth-token":"^2.4.0","@octokit/plugin-paginate-rest":"^1.1.1","@octokit/plugin-request-log":"^1.0.0","@octokit/plugin-rest-endpoint-methods":"2.4.0","@octokit/request":"^5.2.0","@octokit/request-error":"^1.0.2","atob-lite":"^2.0.0","before-after-hook":"^2.0.0","btoa-lite":"^1.0.0","deprecation":"^2.0.0","lodash.get":"^4.4.2","lodash.set":"^4.3.2","lodash.uniq":"^4.5.0","octokit-pagination-methods":"^1.1.0","once":"^1.4.0","universal-user-agent":"^4.0.0"},"description":"GitHub REST API client for Node.js","devDependencies":{"@gimenete/type-writer":"^0.1.3","@octokit/auth":"^1.1.1","@octokit/fixtures-server":"^5.0.6","@octokit/graphql":"^4.2.0","@types/node":"^13.1.0","bundlesize":"^0.18.0","chai":"^4.1.2","compression-webpack-plugin":"^3.1.0","cypress":"^3.0.0","glob":"^7.1.2","http-proxy-agent":"^4.0.0","lodash.camelcase":"^4.3.0","lodash.merge":"^4.6.1","lodash.upperfirst":"^4.3.1","lolex":"^5.1.2","mkdirp":"^1.0.0","mocha":"^7.0.1","mustache":"^4.0.0","nock":"^11.3.3","npm-run-all":"^4.1.2","nyc":"^15.0.0","prettier":"^1.14.2","proxy":"^1.0.0","semantic-release":"^17.0.0","sinon":"^8.0.0","sinon-chai":"^3.0.0","sort-keys":"^4.0.0","string-to-arraybuffer":"^1.0.0","string-to-jsdoc-comment":"^1.0.0","typescript":"^3.3.1","webpack":"^4.0.0","webpack-bundle-analyzer":"^3.0.0","webpack-cli":"^3.0.0"},"files":["index.js","index.d.ts","lib","plugins"],"homepage":"https://github.com/octokit/rest.js#readme","keywords":["octokit","github","rest","api-client"],"license":"MIT","name":"@octokit/rest","nyc":{"ignore":["test"]},"publishConfig":{"access":"public"},"release":{"publish":["@semantic-release/npm",{"path":"@semantic-release/github","assets":["dist/*","!dist/*.map.gz"]}]},"repository":{"type":"git","url":"git+https://github.com/octokit/rest.js.git"},"scripts":{"build":"npm-run-all build:*","build:browser":"npm-run-all build:browser:*","build:browser:development":"webpack --mode development --entry . --output-library=Octokit --output=./dist/octokit-rest.js --profile --json > dist/bundle-stats.json","build:browser:production":"webpack --mode production --entry . --plugin=compression-webpack-plugin --output-library=Octokit --output-path=./dist --output-filename=octokit-rest.min.js --devtool source-map","build:ts":"npm run -s update-endpoints:typescript","coverage":"nyc report --reporter=html && open coverage/index.html","generate-bundle-report":"webpack-bundle-analyzer dist/bundle-stats.json --mode=static --no-open --report dist/bundle-report.html","lint":"prettier --check '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","lint:fix":"prettier --write '{lib,plugins,scripts,test}/**/*.{js,json,ts}' 'docs/*.{js,json}' 'docs/src/**/*' index.js README.md package.json","postvalidate:ts":"tsc --noEmit --target es6 test/typescript-validate.ts","prebuild:browser":"mkdirp dist/","pretest":"npm run -s lint","prevalidate:ts":"npm run -s build:ts","start-fixtures-server":"octokit-fixtures-server","test":"nyc mocha test/mocha-node-setup.js \"test/*/**/*-test.js\"","test:browser":"cypress run --browser chrome","update-endpoints":"npm-run-all update-endpoints:*","update-endpoints:fetch-json":"node scripts/update-endpoints/fetch-json","update-endpoints:typescript":"node scripts/update-endpoints/typescript","validate:ts":"tsc --target es6 --noImplicitAny index.d.ts"},"types":"index.d.ts","version":"16.43.1"};
23292347

23302348
/***/ }),
23312349

@@ -4578,15 +4596,16 @@ const inspection = __importStar(__webpack_require__(117));
45784596
const represent = __importStar(__webpack_require__(110));
45794597
const input = __importStar(__webpack_require__(553));
45804598
function runWithExceptions() {
4581-
var _a, _b, _c;
4599+
var _a, _b, _c, _d;
45824600
const messages = commitMessages.retrieve();
45834601
////
45844602
// Parse inputs
45854603
////
45864604
const additionalVerbsInput = (_a = core.getInput('additional-verbs', { required: false })) !== null && _a !== void 0 ? _a : '';
45874605
const pathToAdditionalVerbsInput = (_b = core.getInput('path-to-additional-verbs', { required: false })) !== null && _b !== void 0 ? _b : '';
45884606
const allowOneLinersInput = (_c = core.getInput('allow-one-liners', { required: false })) !== null && _c !== void 0 ? _c : '';
4589-
const maybeInputs = input.parseInputs(additionalVerbsInput, pathToAdditionalVerbsInput, allowOneLinersInput);
4607+
const enforceSignOffInput = (_d = core.getInput('enforce-sign-off', { required: false })) !== null && _d !== void 0 ? _d : '';
4608+
const maybeInputs = input.parseInputs(additionalVerbsInput, pathToAdditionalVerbsInput, allowOneLinersInput, enforceSignOffInput);
45904609
if (maybeInputs.error !== null) {
45914610
core.error(maybeInputs.error);
45924611
core.setFailed(maybeInputs.error);
@@ -9372,14 +9391,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
93729391
return (mod && mod.__esModule) ? mod : { "default": mod };
93739392
};
93749393
Object.defineProperty(exports, "__esModule", { value: true });
9375-
exports.parseAllowOneLiners = exports.parseVerbs = exports.parseInputs = exports.MaybeInputs = exports.Inputs = void 0;
9394+
exports.parseVerbs = exports.parseInputs = exports.MaybeInputs = exports.Inputs = void 0;
93769395
const fs_1 = __importDefault(__webpack_require__(747));
93779396
class Inputs {
9378-
constructor(hasAdditionalVerbsInput, pathToAdditionalVerbs, allowOneLiners, additionalVerbs) {
9397+
constructor(hasAdditionalVerbsInput, pathToAdditionalVerbs, allowOneLiners, additionalVerbs, enforceSignOff) {
93799398
this.hasAdditionalVerbsInput = hasAdditionalVerbsInput;
93809399
this.pathToAdditionalVerbs = pathToAdditionalVerbs;
93819400
this.allowOneLiners = allowOneLiners;
93829401
this.additionalVerbs = additionalVerbs;
9402+
this.enforceSignOff = enforceSignOff;
93839403
}
93849404
}
93859405
exports.Inputs = Inputs;
@@ -9403,7 +9423,7 @@ class MaybeInputs {
94039423
}
94049424
}
94059425
exports.MaybeInputs = MaybeInputs;
9406-
function parseInputs(additionalVerbsInput, pathToAdditionalVerbsInput, allowOneLinersInput) {
9426+
function parseInputs(additionalVerbsInput, pathToAdditionalVerbsInput, allowOneLinersInput, enforceSignOffInput) {
94079427
const additionalVerbs = new Set();
94089428
const hasAdditionalVerbsInput = additionalVerbsInput.length > 0;
94099429
if (additionalVerbsInput) {
@@ -9423,12 +9443,19 @@ function parseInputs(additionalVerbsInput, pathToAdditionalVerbsInput, allowOneL
94239443
}
94249444
const allowOneLiners = !allowOneLinersInput
94259445
? false
9426-
: parseAllowOneLiners(allowOneLinersInput);
9446+
: parseBooleanFromString(allowOneLinersInput);
94279447
if (allowOneLiners === null) {
94289448
return new MaybeInputs(null, 'Unexpected value for allow-one-liners. ' +
94299449
`Expected either 'true' or 'false', got: ${allowOneLinersInput}`);
94309450
}
9431-
return new MaybeInputs(new Inputs(hasAdditionalVerbsInput, pathToAdditionalVerbsInput, allowOneLiners, additionalVerbs), null);
9451+
const enforceSignOff = !enforceSignOffInput
9452+
? false
9453+
: parseBooleanFromString(enforceSignOffInput);
9454+
if (enforceSignOff === null) {
9455+
return new MaybeInputs(null, 'Unexpected value for enforce-sign-off. ' +
9456+
`Expected either 'true' or 'false', got: ${enforceSignOffInput}`);
9457+
}
9458+
return new MaybeInputs(new Inputs(hasAdditionalVerbsInput, pathToAdditionalVerbsInput, allowOneLiners, additionalVerbs, enforceSignOff), null);
94329459
}
94339460
exports.parseInputs = parseInputs;
94349461
function parseVerbs(text) {
@@ -9444,7 +9471,7 @@ function parseVerbs(text) {
94449471
return verbs;
94459472
}
94469473
exports.parseVerbs = parseVerbs;
9447-
function parseAllowOneLiners(text) {
9474+
function parseBooleanFromString(text) {
94489475
if (text === '' || text.toLowerCase() === 'false' || text === '0') {
94499476
return false;
94509477
}
@@ -9453,7 +9480,6 @@ function parseAllowOneLiners(text) {
94539480
}
94549481
return null;
94559482
}
9456-
exports.parseAllowOneLiners = parseAllowOneLiners;
94579483

94589484

94599485
/***/ }),

local/powershell/OpinionatedCommitMessage.ps1

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
#!/usr/bin/env pwsh
22
# This file was generated by src/scripts/toPowershell.ts. Do NOT edit or append!
3-
# Version: 2.2.0
3+
# Version: 2.3.1
44
# Copyright (c) 2020 Marko Ristin <https://github.com/mristin/opinionated-commit-message>
55
# MIT License
66

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@mristin/opinionated-commit-message",
3-
"version": "2.3.0",
3+
"version": "2.3.1",
44
"description": "GitHub Action to check commit messages according to an opinionated style",
55
"keywords": [
66
"github",

0 commit comments

Comments
 (0)