flutter 黄金测试在3.23版beta发布上无法运行,

j91ykkif  于 5个月前  发布在  Flutter
关注(0)|答案(8)|浏览(84)

之前我们进行了一些工作,以确保黄金测试在发布分支上运行。它在 #146078 的模拟运行中被验证为有效。当 3.23 beta branch was created golden images were not reaped 运行时,就像在模拟测试中一样。
这可能是测试环境和实际发布工作流程之间的差异。在 flutter/cocoon#3659 中添加了茧可以运行 skia gold 的能力的代码仍然完好无损。
禁用 3.23 beta 分支上的黄金图像测试的 PR 是 flutter/engine#53163 。似乎发布团队遇到了问题,不仅仅是因为茧无法回收黄金图像,还需要禁用测试。我认为这是他们的 GOLDCTL 环境变量问题,应该通过将 skia gold 作为构建器的依赖项来解决。
我们需要找出模拟运行和实际工作流程之间的差异,以了解为什么茧没有回收黄金图像。
cc @matanlurey

9jyewag0

9jyewag01#

当您有机会时,能否帮助提供一些澄清和日志,因为我们无法访问:

  1. 我们看到黄金镜像没有被收割,您能提供从这行代码生成的茧状日志吗? log.fine('This change\'s destination, ${pr.base!.ref}, does not run Skia Gold checks, skipping.');
  2. 看起来您遇到了超出收割问题的问题,因为测试不得不被禁用。这是您遇到的问题吗? https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20Production%20Engine%20Drone/12733/infra ?为什么在那里有一个GOLDCTL问题,但在Update .engine-release.version engine#53148上没有?您能否澄清是什么问题导致您不得不回滚测试,因为未能收割黄金镜像不应该阻止您的工作流程吗?
hzbexzde

hzbexzde2#

当您有机会时,您能帮忙提供一些澄清和日志吗?因为我们无法访问:

  1. 我们看到黄金镜像没有被收割,您能提供从这行代码生成的茧状日志吗:log.fine('This change\'s destination, ${pr.base!.ref}, does not run Skia Gold checks, skipping.');

我在谷歌云存储桶中看到的路径声称是一个空的noop.txt文件。我的猜测是我们没有写入日志文件,或者我们写入了错误的路径。

  1. 看起来您遇到了超出收割问题的问题,因为测试不得不被禁用。这是您遇到的问题吗:https://ci.chromium.org/ui/p/dart-internal/builders/flutter/Mac%20Production%20Engine%20Drone/12733/infra?

为什么在Update .engine-release.version engine#53148上没有GOLDCTL问题?

我不知道。

您能澄清一下是什么问题导致您不得不回滚测试吗?因为无法收割黄金镜像不应该阻止您的工作流程吗?

是的,我回滚了测试,因为run_tests.py引发了RuntimeError: The GOLDCTL environment variable is not set,导致步骤失败,从而整个构建失败,因此构建引擎的工件从未上传,也无法滚动到框架。

im9ewurl

im9ewurl3#

当您有机会时,能否帮助提供一些澄清和日志记录,因为我们无法访问:

  1. 我们看到金色图像没有被收获,您能提供从这行代码生成的茧状日志吗?
    在谷歌云存储桶中,我看到的路径声称是一个空的noop.txt文件。我的猜测是我们没有写入日志文件,或者我们写入了错误的路径。
    我理解错了,我看错了不同类型的日志。
sqougxex

sqougxex4#

以下是神殿日志:

350: {
logMessage: "Last known Gold status for flutter/engine#53148 was with sha: , status: , description: "
severity: "DEBUG"
time: "2024-05-31T17:18:11.270Z"
}
351: {
logMessage: "This change's destination, flutter-3.23-candidate.0, does not run Skia Gold checks, skipping."
severity: "DEBUG"
time: "2024-05-31T17:18:11.271Z"
}
zzlelutf

zzlelutf5#

matanlurey flutter/cocoon#3761修复了收割问题。你能链接到设置GOLDCTL的机器人指令吗?我找不到你前几天给我链接的东西。我们可以向chris展示,希望他知道放在哪里。

s4n0splo

s4n0splo6#

matanlurey flutter/cocoon#3761修复了收割问题。你能链接到设置GOLDCTL的机器人指令吗?我找不到你前几天给我链接的东西。我们可以向chris展示这一点,希望他知道该放在哪里。
https://github.com/flutter/engine/tree/main/testing/skia_gold_client#configuring-ci

vptzau2j

vptzau2j7#

@christopherfujino 你知道如何调和Matan列出的上述获取GOLDCTL设置的步骤以及如何设置发布机器人吗?添加那个依赖项应该可以做到。我不确定发布机器人的正确位置在哪里,或者它们是否以相同的方式工作。如果你能指出正确的方向,我们可以尝试一下。

qojgxg4l

qojgxg4l8#

@christopherfujino do you know how to reconcile the steps Matan listed above for getting GOLDCTL set and how to setup the release bots? Adding that dependency should be doing it. I'm not sure where the right place to put that would be for the release bots though or if they even work the same. If you point us in the right direction we can try it out.
Off the top of my head, I can see that we do have goldctl specified as a dependency in .ci.yaml: https://github.com/flutter/engine/blob/flutter-3.18-candidate.18/.ci.yaml#L364

I do see that it has goldctl listed as a dependency in the input properties. However, I don't see a step that explicitly installed goldctl via cipd (which I would expect to see).
In this recipe, we do call api.flutter_deps.required_deps(env, env_prefixes, test_deps) , which I would expect to install, via cipd, everything listed in the dependencies hash map of the build input properties: https://flutter.googlesource.com/recipes/+/refs/heads/flutter-3.23-candidate.0/recipes/engine_v2/builder.py#138
I would start tracing around that code, and comparing it with the build steps. I would first verify whether or not we actually installed in goldctl. If we did, then I would check why we didn't set the GOLDCTL env var that we wrap the test invocation with (you can see the env vars here: https://logs.chromium.org/logs/dart-internal/buildbucket/cr-buildbucket/8746400829535528113/+/u/test:_Impeller-golden_for_host_release/execution_details ).

相关问题