获取 bash 命令的输出并将其放入 yaml 中的消息中以进行 GitHub 操作?
Posted
技术标签:
【中文标题】获取 bash 命令的输出并将其放入 yaml 中的消息中以进行 GitHub 操作?【英文标题】:Taking a bash command's output and putting it into a message in yaml for GitHub actions? 【发布时间】:2021-10-22 04:40:11 【问题描述】:我有以下 Github Action 工作流程,旨在从 coverage.txt 文件中读取我们的代码覆盖范围并将覆盖范围打印为注释。
name: Report Code Coverage
on:
pull_request:
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Use Node.js 12.x
uses: actions/setup-node@v1
with:
node-version: 12.x
- name: Install dependencies
run: npm ci
- name: Run tests
run: npm run test:coverage
## I need help around here, as test:coverage generates a file and I need to get a value from a file
- uses: mshick/add-pr-comment@v1
with:
message: |
**Where I want the code coverage value to go**
????
!
repo-token: $ secrets.GITHUB_TOKEN
repo-token-user-login: 'github-actions[bot]' # The user.login for temporary GitHub tokens
allow-repeats: false # This is the default
我正在努力获取文件的输出,我可以使用 bash 使用 awk '/^Lines/ print $2 ' < coverage.txt
获得该输出(不确定是否有更好的替代方法)并将其插入到当前只是打招呼的消息中。
我找到了这个article on yaml variables,但是当我将其中一些代码添加到我自己的文件中时,GitHub 操作不再识别它(这是我知道测试 yaml 的唯一方法)。通常它会在某处失败并给我一个错误,但经过多次尝试后,唯一有效的方法就是将其删除。
我很可能遗漏了一些明显的东西,因为我不太了解 yaml,甚至某些关键词可能是什么。
或者,将文件的内容转储到消息中是否更容易?这也是可以接受的。
【问题讨论】:
【参考方案1】:您可以创建一个步骤来获取输出变量的覆盖率,然后下一步可以访问该变量。
请注意,要使用此方法,您需要为步骤和 id 以及设置的输出变量指定一个变量名称,以便您可以在同一作业中的后续步骤中访问它。
下面是您的工作流程示例,但如果您想在此处查看正在运行的演示,请参阅 repo https://github.com/meroware/demo-coverage-set-output
- name: Run tests
run: npm run test:coverage
- name: Get coverage output
id: get_coverage
run: echo "::set-output name=coverage::$(awk '/^Lines/ print $2 ' < test.txt)"
- uses: mshick/add-pr-comment@v1
with:
message: |
Coverage found $steps.get_coverage.outputs.coverage
?
!
repo-token: $ secrets.GITHUB_TOKEN
repo-token-user-login: 'github-actions[bot]' # The user.login for temporary GitHub tokens
allow-repeats: false # This is the default
如果您想了解更多有关此主题的信息,我会制作很多 github actions tutorials here。干杯!!
【讨论】:
以上是关于获取 bash 命令的输出并将其放入 yaml 中的消息中以进行 GitHub 操作?的主要内容,如果未能解决你的问题,请参考以下文章