我正在尝试遵循 Github 使用 github 操作测试我的构建的示例,然后压缩测试结果并将它们作为工件上传。 https://help.github.com/en/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts#uploading-build-and-test-artifacts
但是,当我的测试失败时,我该怎么办。这是我的行动。当我的测试通过一切正常时,我的结果会被压缩并导出为工件,但如果我的测试失败,它会停止工作中的其余步骤,因此我的结果永远不会发布。

我尝试添加 continue-on-error: true https://help.github.com/en/actions/automating-your-workflow-with-github-actions/workflow-syntax-for-github-actions#jobsjob_idstepscontinue-on -error
这使它在失败后继续并上传我的测试结果。但是即使我的测试步骤失败,该作业也被标记为通过。有没有办法让它上传我的工件,即使一个步骤失败,同时仍然将整个工作标记为失败?
name: CI
on:
pull_request:
branches:
- master
push:
branches:
- master
jobs:
build-and-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Test App
run: ./gradlew test
- name: Archive Rest Results
uses: actions/upload-artifact@v1
with:
name: test-results
path: app/build/reports/tests
Run Code Online (Sandbox Code Playgroud) 运行 GitHub Actions 矩阵工作流程时,我们如何允许作业失败,继续运行所有其他作业,并将工作流程本身标记为失败?
在此图中,您可以看到即使作业失败后工作流程也会通过。在这种情况下,我们需要将工作流程标记为失败。

这是我的工作流程 yaml 文件的一小部分。即使作业失败, continue-on-error 行也会继续工作流程,但我们如何将整个工作流程标记为失败?
matrixed:
runs-on: ubuntu-latest
continue-on-error: true
timeout-minutes: 60
defaults:
run:
shell: bash
working-directory: myDir
strategy:
matrix:
testgroups:
[
"bookingpage-docker-hub-parallel",
"bookingpage-docker-hub-parallel-group-1",
"bookingpage-payments",
]
Run Code Online (Sandbox Code Playgroud)
我确实发现了这个悬而未决的问题,但这是关于步骤的,我们需要了解工作。