Eslint files changed between branch and master in Travis CI
So basically when a branch is pushed I want to run a diff between the master branch and a target branch and then feed those files into eslint.
The command is:
git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
It works when I use it locally and replace $TRAVIS_BRANCH with my current working branch.
However, when I use this on travis ci, the build process only checks out the branch its testing against and not master. So it comes out with the error
$ git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
fatal: ambiguous argument 'master..test-fail': unknown revision or path not in the working tree.
How can I get travis CI to diff the files changed in a branch and run eslint only on those files?
.travis.yml
language: node_js
node_js:
- "lts/*"
- "node"
- "8"
jobs:
include:
- stage: lint
script: git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
git travis-ci eslint
add a comment |
So basically when a branch is pushed I want to run a diff between the master branch and a target branch and then feed those files into eslint.
The command is:
git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
It works when I use it locally and replace $TRAVIS_BRANCH with my current working branch.
However, when I use this on travis ci, the build process only checks out the branch its testing against and not master. So it comes out with the error
$ git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
fatal: ambiguous argument 'master..test-fail': unknown revision or path not in the working tree.
How can I get travis CI to diff the files changed in a branch and run eslint only on those files?
.travis.yml
language: node_js
node_js:
- "lts/*"
- "node"
- "8"
jobs:
include:
- stage: lint
script: git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
git travis-ci eslint
1
Why don't you just lint the whole thing in CI?
– jonrsharpe
Nov 21 '18 at 10:07
Not my question but the reason is because the test would fail. I basically want to enforce that new changes meet the standards but if there are problems already don't fail the build
– nanomosfet
Nov 21 '18 at 10:11
Did you look at docs.travis-ci.com/user/customizing-the-build?
– jonrsharpe
Nov 21 '18 at 10:14
Possible duplicate of How can I customize / override the "git clone" step in Travis CI?
– jonrsharpe
Nov 21 '18 at 10:19
yeah but I still don't know how to complete what I want. Maybe I can use the git sparse checkout thing. not sure
– nanomosfet
Nov 21 '18 at 10:19
add a comment |
So basically when a branch is pushed I want to run a diff between the master branch and a target branch and then feed those files into eslint.
The command is:
git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
It works when I use it locally and replace $TRAVIS_BRANCH with my current working branch.
However, when I use this on travis ci, the build process only checks out the branch its testing against and not master. So it comes out with the error
$ git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
fatal: ambiguous argument 'master..test-fail': unknown revision or path not in the working tree.
How can I get travis CI to diff the files changed in a branch and run eslint only on those files?
.travis.yml
language: node_js
node_js:
- "lts/*"
- "node"
- "8"
jobs:
include:
- stage: lint
script: git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
git travis-ci eslint
So basically when a branch is pushed I want to run a diff between the master branch and a target branch and then feed those files into eslint.
The command is:
git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
It works when I use it locally and replace $TRAVIS_BRANCH with my current working branch.
However, when I use this on travis ci, the build process only checks out the branch its testing against and not master. So it comes out with the error
$ git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
fatal: ambiguous argument 'master..test-fail': unknown revision or path not in the working tree.
How can I get travis CI to diff the files changed in a branch and run eslint only on those files?
.travis.yml
language: node_js
node_js:
- "lts/*"
- "node"
- "8"
jobs:
include:
- stage: lint
script: git diff --name-only master..$TRAVIS_BRANCH | grep -E '.js$' | xargs npx eslint
git travis-ci eslint
git travis-ci eslint
edited Nov 21 '18 at 10:14
nanomosfet
asked Nov 21 '18 at 10:06
nanomosfetnanomosfet
687
687
1
Why don't you just lint the whole thing in CI?
– jonrsharpe
Nov 21 '18 at 10:07
Not my question but the reason is because the test would fail. I basically want to enforce that new changes meet the standards but if there are problems already don't fail the build
– nanomosfet
Nov 21 '18 at 10:11
Did you look at docs.travis-ci.com/user/customizing-the-build?
– jonrsharpe
Nov 21 '18 at 10:14
Possible duplicate of How can I customize / override the "git clone" step in Travis CI?
– jonrsharpe
Nov 21 '18 at 10:19
yeah but I still don't know how to complete what I want. Maybe I can use the git sparse checkout thing. not sure
– nanomosfet
Nov 21 '18 at 10:19
add a comment |
1
Why don't you just lint the whole thing in CI?
– jonrsharpe
Nov 21 '18 at 10:07
Not my question but the reason is because the test would fail. I basically want to enforce that new changes meet the standards but if there are problems already don't fail the build
– nanomosfet
Nov 21 '18 at 10:11
Did you look at docs.travis-ci.com/user/customizing-the-build?
– jonrsharpe
Nov 21 '18 at 10:14
Possible duplicate of How can I customize / override the "git clone" step in Travis CI?
– jonrsharpe
Nov 21 '18 at 10:19
yeah but I still don't know how to complete what I want. Maybe I can use the git sparse checkout thing. not sure
– nanomosfet
Nov 21 '18 at 10:19
1
1
Why don't you just lint the whole thing in CI?
– jonrsharpe
Nov 21 '18 at 10:07
Why don't you just lint the whole thing in CI?
– jonrsharpe
Nov 21 '18 at 10:07
Not my question but the reason is because the test would fail. I basically want to enforce that new changes meet the standards but if there are problems already don't fail the build
– nanomosfet
Nov 21 '18 at 10:11
Not my question but the reason is because the test would fail. I basically want to enforce that new changes meet the standards but if there are problems already don't fail the build
– nanomosfet
Nov 21 '18 at 10:11
Did you look at docs.travis-ci.com/user/customizing-the-build?
– jonrsharpe
Nov 21 '18 at 10:14
Did you look at docs.travis-ci.com/user/customizing-the-build?
– jonrsharpe
Nov 21 '18 at 10:14
Possible duplicate of How can I customize / override the "git clone" step in Travis CI?
– jonrsharpe
Nov 21 '18 at 10:19
Possible duplicate of How can I customize / override the "git clone" step in Travis CI?
– jonrsharpe
Nov 21 '18 at 10:19
yeah but I still don't know how to complete what I want. Maybe I can use the git sparse checkout thing. not sure
– nanomosfet
Nov 21 '18 at 10:19
yeah but I still don't know how to complete what I want. Maybe I can use the git sparse checkout thing. not sure
– nanomosfet
Nov 21 '18 at 10:19
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53409605%2feslint-files-changed-between-branch-and-master-in-travis-ci%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53409605%2feslint-files-changed-between-branch-and-master-in-travis-ci%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Why don't you just lint the whole thing in CI?
– jonrsharpe
Nov 21 '18 at 10:07
Not my question but the reason is because the test would fail. I basically want to enforce that new changes meet the standards but if there are problems already don't fail the build
– nanomosfet
Nov 21 '18 at 10:11
Did you look at docs.travis-ci.com/user/customizing-the-build?
– jonrsharpe
Nov 21 '18 at 10:14
Possible duplicate of How can I customize / override the "git clone" step in Travis CI?
– jonrsharpe
Nov 21 '18 at 10:19
yeah but I still don't know how to complete what I want. Maybe I can use the git sparse checkout thing. not sure
– nanomosfet
Nov 21 '18 at 10:19