ember-cli / ember-cli/ember-try

Fail fast strategy for JSHint/JSCS/ESLint tests

Open
#100 5 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
180
Forks
57
PR merge metrics
No merged PRs in 30d

Description

Just had the following happen: pushed a commit that accidentally had two consecutive blank lines in a file, which is a violation of a JSCS rule (ember-suave). The build took quite some time, just to show that a single JSCS test was failing for all ember versions (1.13 - 2.8 + beta + canary). Not only does this hamper developer productivity, it also puts a considerable amount of unnecessary burden on the CI infrastructure (Travis in this case).

Since JSHint/JSCS/ESLint tests won't depend on any dependencies, a) it seems unnecessary to run them in every `try:each` run and b) it could make sense to have them run once before any "real" tests.

So a "fail fast, fail early" strategy, which I guess is a pretty common CI best practice, could be in this case:
1. run all JSHint/JSCS/ESLint tests with the default deps
2. If that fails -> exit (non zero code)
3. run `try:each`, with JSHint/JSCS/ESLint tests excluded

I guess you could make 1+3 happen with a custom config, not sure about 2? And what do you think about this approach, maybe this could become the default?

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.