Open
Description
When checking out a repo, there is no COMMIT_EDITMSG
file until a new commit is made. In the case of elastic-apm-node, we trigger the commit lint automatically, as part of the test process. This currently means a fresh checkout can't run the tests because @commitling/cli will crash due to being unable to find that file.
Expected Behavior
There was no commit to have a failing message on, so it should not be a failure.
Current Behavior
It crashes with this output:
/home/stephenbelanger/Code/elastic-apm-node/node_modules/@commitlint/cli/lib/cli.js:113
throw err;
^
Error: ENOENT: no such file or directory, open '/home/stephenbelanger/Code/elastic-apm-node/.git/COMMIT_EDITMSG'
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] lint-commit: `test/lint-commits.sh`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] lint-commit script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/stephenbelanger/.npm/_logs/2019-03-03T19_30_57_446Z-debug.log
Affected packages
- cli
- core
- prompt
- config-angular
Possible Solution
Consider it a "pass" if the file is not found.
Steps to Reproduce (for bugs)
- Checkout any repo for the first time, which uses @commitlint/cli
- Trigger @commitlint/cli
- ???
- 😢
Context
Currently this makes the contributing process painful, as new contributors will always run into this the first time they try to run our tests.