Codecov bash上传器`alpine:edge` docker image上的评估错误`

问题描述

我正在尝试使用Codecov提供的codecov.io脚本将覆盖率报告上传codecov-bash。 bash脚本无法在运行 <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink"> <a class="dropdown-item" href="pots.PHP">POTS</a> <a class="dropdown-item" href="pans.PHP">PANS</a> <a class="dropdown-item" href="bowls.PHP">BOWLS</a> <a class="dropdown-item" href="cups.PHP">CUPS</a> <a class="dropdown-item" href="mugs">MUGS</a> <?PHP if (isset($_SESSION['userId'])) { echo '<a class="dropdown-item" href="includes/logout.inc.PHP">logoUT</a>'; } else { echo '<a class="dropdown-item" href="login.PHP">LOGIN</a>'; } ?> </div> docker映像的Gitlab CI上运行。

以下是错误

alpine:edge

这是我的$ /bin/bash <(curl -s https://codecov.io/bash) /bin/sh: eval: line 107: Syntax error: unexpected "(" 文件的相关部分:

.gitlab-ci.yml

脚本的第107行在 after_script: - apk -U add git curl bash findutils - /bin/bash <(curl -s https://codecov.io/bash) 函数show_help()函数内部:

This is non-exclusive,use -s "*.foo" to match specific paths.

我已经尝试了很多方法解决该问题,但是找不到解决方案。在他们的GitHub存储库上,有一个似乎已联系在一起的问题,但建议的解决方案对我不起作用:Failing on busybox 1.26,incorrect flags passed to find

您可以在此处第434行找到作业的完整日志:https://gitlab.com/gaspacchio/back-to-the-future/-/jobs/788303704

解决方法

根据KamilCuk的评论,以下是将代码覆盖率报告正确上载到codecov所需的全部内容:

bash -c '/bin/bash <(curl -s https://codecov.io/bash)'

正如KamilCuk指出的那样,请注意结帐'

-c标志在bash的手册页中有这样的记录:

-c字符串

如果存在-c选项,则从字符串读取命令。如果字符串后面有参数,则将其分配给位置参数,从$ 0开始。

截止到今天,我不知道为什么有效。如果有任何线索,请随时编辑此答案。