【问题标题】:How to debug in github CI?如何在 github CI 中调试?
【发布时间】:2021-12-30 17:52:38
【问题描述】:

很奇怪,我的代码通过了笔记本电脑中的所有 UT/IT,但在 github CI 中遇到错误。 您介意帮助采用一些方法在 github CI 中进行调试吗?还是让代码和github一样在本地运行?

对于您提出的任何问题,我将由衷地感谢。谢谢!

我正在处理的拉取请求在此页面中:https://github.com/apache/iotdb/pull/4437

这是一个关于时间序列数据库的项目,Apache-IoTDB。该错误看起来像是普通代码中的一个微不足道的逻辑错误。希望它可以帮助诊断错误。非常感谢!

【问题讨论】:

  • 您的代码在本地通过测试但在 CI 服务器上未能通过测试,这并没有什么奇怪的。有时,一个简单的案例错误配置的行尾可能会导致构建在 Unix 机器上失败,而相同的代码在 Windows 机器上传递。
  • 这是一个非常复杂的 CI 管道!您可能会发现这很有帮助:Downloading logs。通过下载日志,您可以更仔细地检查每个操作 step 的输出,因为如果日志太长,则会在浏览器中截断。据我所知,您在看似多线程的代码中存在一些测试错误。

标签: database github-actions pull-request apache-iotdb iotdb


【解决方案1】:

再次合并master(我的pull请求转发到的分支)直接解决了这个问题。

关键是,当拉取请求被接受时,github CI(动作)可能正在自动合并的代码上运行。

因此,如果您的代码在本地通过了所有测试,但在 CI 中失败,结果与本地调试不同,请尝试合并 PR 转发可能解决问题的分支。

希望这可以帮助你,并感谢这个问题下的人。

【讨论】:

    【解决方案2】:

    act 是 GitHub Actions 工作流的本地运行器,运行时应该几乎与真实运行相同。

    或者,debugging-with-ssh 操作使用upterm 在容器中打开一个 SSH 侦听器,以获取 GitHub Actions 本身内正在运行的工作流的 shell。

    【讨论】:

    • 感谢您的回答!我现在就试试这个工具
    猜你喜欢
    • 2020-04-18
    • 2020-01-08
    • 1970-01-01
    • 2021-03-29
    • 2021-08-09
    • 2020-01-27
    • 1970-01-01
    • 2013-01-10
    • 1970-01-01
    相关资源
    最近更新 更多