test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg
, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

test: use Travis CI to run tests on every pull request - #1752

Closed
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2
Closed

test: use Travis CI to run tests on every pull request#1752
cclauss wants to merge 1 commit into
nodejs:masterfrom
cclauss:patch-2

Conversation

@cclauss

@cclausscclauss commented May 14, 2019

Copy link
Copy Markdown
Contributor

Use flake8 to automate the discovery of Python syntax errors and undefined names.

This is a second attempt at #1336 which got into a bad git-state...

Checklist
  • npm install && npm test passes
  • tests are included
  • documentation is changed or added
  • commit message follows commit guidelines
Description of change

There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.

@cclauss
cclaussforce-pushed the patch-2 branch 2 times, most recently from 40eceb4 to e2d38abCompareMay 14, 2019 17:53
@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

I don't know how to hook this up and don't think I have permissions either. @nodejs/automation can you help?

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Someone who has admin rights would need to go to https://travis-ci.org/nodejs/node-gyp and flip the repo switch on.

@rvagg

rvagg commented Jun 7, 2019

Copy link
Copy Markdown
Member

It's not quite that simple, or at least it never used to be, because of a policy about giving org privs to external services. There's hoops that need to be jumped through to get the github-bot to react to changes in this repo and trigger Travis runs (although that may have changed?).

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Is there an internal test runner available? Jenkins or something?

@targos

Copy link
Copy Markdown
Member

I enabled it. We have the GitHub app so the url is https://travis-ci.com/nodejs/node-gyp

@targos

Copy link
Copy Markdown
Member

@rvagg it's simpler since some time with github app because we can give permissions to Travis on a per repository basis (it's in the organization's config)

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Thanks much!! Build in progress... https://travis-ci.com/nodejs/node-gyp/pull_requests

@targos

Copy link
Copy Markdown
Member

Shouldn't it end up in a failed state instead of errored?

@cclauss

cclauss commented Jun 7, 2019

Copy link
Copy Markdown
ContributorAuthor

The tests now pass with one noqa TODO added (#1772).

I am unclear what is the difference between failed and errored but I do know that all these issues and more for both Python 2 and Python 3 were flattened in https://github.com/refack/GYP

@targos

Copy link
Copy Markdown
Member

I think that anything that fails outside of the "script" phase results in an error.
Is it necessary to run flake8 before npm install? Otherwise I would do:

  • pip install and npm install in the "install" phase
  • flake8 and npm test in the "script" phase

@cclauss

Copy link
Copy Markdown
ContributorAuthor

Bump on this one please.

@rvagg

Copy link
Copy Markdown
Member

👍 will merge this if you fix up the commits, make it 2 or 3 commits - one for travis, one or two for the python fixes as you see fit.

@rvagg

Copy link
Copy Markdown
Member

also, there's a "TODO" in there with noqa, is that something that needs to be resolved prior to landing this?

This is a second attempt at nodejs#1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
@cclauss

Copy link
Copy Markdown
ContributorAuthor

I am OK with leaving the TODO open as it has been working without issue to date. Sometimes that situation can be caused by implicit imports.

# If the variable is already set, don't set it.
continue
if the_dict_key is 'variables' and variable_name in the_dict:
if the_dict_key == 'variables' and variable_name in the_dict:

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

why is this needed?

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Identity is not the same thing as equality in Python.

Proof:

>>> the_dict_key = 'variable'
>>> the_dict_key += 's'
>>> the_dict_key == 'variables'
True
>>> the_dict_key is 'variables'
False
>>>

rvagg pushed a commit that referenced this pull request Jun 20, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvagg

Copy link
Copy Markdown
Member

landed in 051b6ed

@rvaggrvagg closed this Jun 20, 2019
@cclauss
cclauss deleted the patch-2 branch June 20, 2019 11:31
rvagg pushed a commit that referenced this pull request Jun 21, 2019
This is a second attempt at #1336 which got into a bad git-state...
Use flake8 to find Python syntax errors and undefined names. There are Python 3 syntax errors and many undefined names which may raise NameError at runtime. This PR runs flake8 runs in two passes: The first looks at critical issues in stop-the-build mode and the second looks at style violations in everything-is-a-warning mode.
PR-URL: #1752
Reviewed-By: Rod Vagg <rod@vagg.org>
@rvaggrvagg mentioned this pull request Jun 21, 2019
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants

@cclauss@rvagg@targos@evenstensberg