当前位置: 首页 > 知识库问答 >
问题:

如何运行github-actions步骤,即使上一步失败了,但作业仍然失败

丌官嘉勋
2023-03-14

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

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

共有1个答案

危晨
2023-03-14

您可以添加

if: always()

即使前一步失败,也要运行该步骤https://help.github.com/en/actions/automating-your-workflow-with-github-actions/contexts-and-expression-syntax-for-github-actions#job-status-check-functions

 类似资料:
  • 这个问题类似于如何运行github操作步骤,即使前一步失败,但仍然无法完成作业,但接受的答案对我没有帮助,因为它会创建一个额外的作业。 下面我要做的是 当测试应用程序(步骤2)通过时;测试清理步骤应该运行,github操作工作流返回成功 当测试应用程序(步骤2)失败时;应运行测试清洁、行动松弛和失败行动步骤。github操作工作流返回失败 我如何修复下面的代码来实现它?

  • 我刚刚开始为一个项目设置一个Github操作工作流。我试图在一个容器内运行工作流步骤,并使用以下工作流定义: 但工作流无法声明容器立即停止到期。 我尝试了很多图片,包括官方文档中描述的“alpine:3.8”图片,但容器停止了。 根据GitHub操作的工作流语法,在容器部分中:“一个容器,用于运行作业中尚未指定容器的任何步骤。”我的假设是容器将被启动,步骤将在Docker容器内运行。

  • 我正在写一个简单的流媒体地图减少工作使用Python在亚马逊电子病历上运行。它基本上是用户记录的聚合器,将每个用户标识的条目分组在一起。 制图器 减速机: 此作业应在包含五个文本文件的目录上运行。EMR作业的参数包括: 输入:[桶名]/[输入文件夹名] 输出:[存储桶名称]/Output 映射器:[Bucket name]/Mapper.py Reducer:[存储桶名称]/Reducer.py

  • 我已经在GitHub操作中设置了一个工作流来运行我的测试并创建测试覆盖的工件。我的YAML文件的精简版本如下所示: 问题是当测试失败时,工件不会被创建。 我从文档中找到了关于的条件,但这也会导致在我的步骤失败时运行此步骤。我不希望发生这种情况,因为在这种情况下没有什么可归档的。 如果上一步已经运行(成功或失败),我如何才能运行此步骤?

  • 我试图用Cucumber在我的selenium项目中实现一种软断言。 什么触发计数器,如何手动标记JUnit失败而不引发AssertionError? 或者,是否有一个Cucumber选项,我可以添加到运行器中,以便不停止失败的测试?我希望至少在cucumber报告中有预期和实际结果的失败。

  • 我最近使用。我对DB表进行了必要的更改,并对一些与参数API相关的微小代码进行了更改。 现在,当我运行应用程序时,它正在工作,但是如果一个步骤的退出状态为失败,则作业的存在状态设置为完成。这会导致一些问题,因为我们的应用程序代码将其视为成功执行。我通过在中添加一个代码片段来解决这个问题,在这里我检查列表并手动设置作业退出状态,但是Spring批处理框架不应该处理退出状态吗?