【问题标题】:How to integrate any Python lint with GitHub commit status API?如何将任何 Python lint 与 GitHub 提交状态 API 集成?
【发布时间】:2012-09-09 03:26:23
【问题描述】:

是否已经有一种方法可以将 Python lint 程序(PyLint、PyChecker、PyFlakes 等)与GitHub commit status API 集成在一起?通过这种方式,Python lint 可以在拉取请求上自动调用,以检查代码并提供反馈和代码(和样式)。

【问题讨论】:

  • 大概,这正是它的用途。这是你的问题吗?
  • @MartijnPieters 这与提交挂钩无关。
  • 所以我理解 Python lint 程序理论上可以与 GitHub 提交状态 API 集成。我的问题是,是否已经有类似的东西在某处可用?或者作为现有的云服务或作为安装,我可以放在我的服务器上,它是从 GitHub 调用的。

标签: python github


【解决方案1】:

我也有同样的问题,刚刚发现 this blog post 描述了一个名为 pylint-server 的项目,因为它做了类似的事情(尽管触发了 Travis CI 构建事件,而不是拉动)。

来自自述文件:

一个小型 Flask 应用程序,用于跟踪每个存储库的 pylint 报告和评级。

我还没有尝试过,所以我无法评论它的质量。如果有人尝试过,请发表评论并告诉我们您的喜好。

【讨论】:

    【解决方案2】:

    您可以使用 Travis-CI 之类的东西,然后运行 ​​pylint 作为测试的一部分,如下所示:

    language: python
    install: "pip install nose pylint"
    script: "nosetests && pylint"
    

    当然,对于轻微的风格违规,提交失败 - 你可能想要禁用某些消息,或者使用 pylint --errors-only 使其不那么严格

    【讨论】:

    • 嗯,有ticket 说这还不支持?这里的error和warning应该是有区别的吧?
    • @Mitar 是的 - 缺少的是 pylint 输出的任何漂亮呈现(例如“测试通过,但 linter 失败),或者将 HTML 报告输出与构建一起存储的能力。所以它' d 工作,但相当粗糙
    • @dbr 我的答案中的应用程序声称存储 HTML 报告并提供了一个很好的 SVG 徽章以用作 README 状态图像。
    • Travis 对于简单的 linting 来说可能太多了。由于建议的应用程序现在已经过时了,我建议使用a small golang app,它具有新的 GitHub Checks API。但这必须在某个地方自托管。
    猜你喜欢
    • 2021-05-14
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 2022-01-20
    • 2014-07-06
    • 2020-01-19
    • 2011-02-12
    • 1970-01-01
    相关资源
    最近更新 更多