gpt4 book ai didi

monorepo - codecov 在 monorepo 上下文中的最佳使用,每个包都有单独的标志

转载 作者:行者123 更新时间:2023-12-05 06:03:49 25 4
gpt4 key购买 nike

我只是想知道为 monorepo 设置配置 codecov 的最佳方法是什么。例如,假设我的 monorepo 下有包 A 和 B。我目前使用 codecov 的方式是使用 github 操作 codecov/codecov-action@v1,在我的 GitHub 工作流 YAML 文件中使用多个 uses 语句,如下所示:-

- uses: codecov/codecov-action@v1
with:
files: ./packages/A/coverage/lcov.info
flags: flag_a
name: A
- uses: codecov/codecov-action@v1
with:
files: ./packages/B/coverage/lcov.info
flags: flag_b
name: B

我知道可以使用逗号分隔值来上传多个文件,但我必须为每个包设置一个单独的标志,而且这样做似乎不起作用。谢谢。

最佳答案

如果有人想知道我的解决方案,这里是我想出的。我最终用我自己的 bash 脚本替换了 github 操作。

final code 
#!/usr/bin/env bash

codecov_file="${GITHUB_WORKSPACE}/scripts/codecov.sh"

curl -s https://codecov.io/bash > $codecov_file
chmod +x $codecov_file

cd "${GITHUB_WORKSPACE}/packages";

for dir in */
do
package="${dir/\//}"
if [ -d "$package/coverage" ]
then
file="$PWD/$package/coverage/lcov.info"
flag="${package/-/_}"
$codecov_file -f $file -F $flag -v -t $CODECOV_TOKEN
fi
done

这就是上面的 bash 脚本所做的

  1. 从 codecov 下载 bash uploader 脚本
  2. 移动到包所在的包目录,并遍历所有一级目录
  3. 通过删除多余的斜杠来更改包名
  4. 如果该目录仅包含覆盖目录,则进入该目录,因为只有那些包已经过测试。
  5. 创建文件和标志变量(删除带下划线的连字符,因为 codecov 不支持标志名称中的连字符)
  6. 通过将文件和标志变量作为参数传递来执行下载的 codecov 脚本

关于monorepo - codecov 在 monorepo 上下文中的最佳使用,每个包都有单独的标志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66561281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com