相关疑难解决方法(0)

如何运行 github-actions 步骤,即使上一步失败,但仍无法完成作业

我正在尝试遵循 Github 使用 github 操作测试我的构建的示例,然后压缩测试结果并将它们作为工件上传。 https://help.github.com/en/actions/automating-your-workflow-with-github-actions/persisting-workflow-data-using-artifacts#uploading-build-and-test-artifacts

但是,当我的测试失败时,我该怎么办。这是我的行动。当我的测试通过一切正常时,我的结果会被压缩并导出为工件,但如果我的测试失败,它会停止工作中的其余步骤,因此我的结果永远不会发布。
github-ci-result
我尝试添加 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 github-actions

57
推荐指数
6
解决办法
1万
查看次数

如果矩阵中单个作业失败,则将 GitHub 操作工作流程标记为失败

运行 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)

我确实发现了这个悬而未决的问题,但这是关于步骤的,我们需要了解工作。

github-actions

17
推荐指数
1
解决办法
7377
查看次数

标签 统计

github-actions ×2

github ×1