【问题标题】:Github actions decline action if fails如果失败,Github 操作会拒绝操作
【发布时间】:2022-01-12 20:24:54
【问题描述】:

我第一次尝试使用 github 操作,我创建并遵循了 github 的教程,我的 .github/workflows/push_main.yml 是:

name: Android CI
on:
  push:
    branches: [ main ]

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1

      - name: set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11

      # Runs ktlint
      - name: Lint
        run: ./gradlew ktlintCheck

      # Execute unit tests
      - name: Unit Test
        run: ./gradlew testDebugUnitTest

我还想在尝试进行变基或合并到main 时进行此检查,如果它有效,然后保持rebasemerge 的操作,我想做类似的事情,创建一个临时分支在那里进行检查,如果它有效,则将rebasemerge 放入main,然后删除临时分支,但我不知道是否有任何其他有效的方法可以这样做。我还看到我可以并行运行这些作业会使其更快吗?

【问题讨论】:

  • 嗨 StuartDTO。你目前面临什么问题?您的工作流程运行有什么错误,我们如何重现它? (注意:可能不相关,但我观察到你目前在使用actions/checkout@v1开始你的工作流程,但是这个版本已经过时了,你应该使用actions/checkout@v2)。跨度>
  • 嗨@GuiFalourd,感谢您回复我想要的是一个管道,当我创建PR时有效地检查所有这些我不知道并行执行是否会起作用,但是然后在它之前合并时,尝试它是否通过此检查破坏某些东西,然后如果它失败则不合并,这可能吗?还是自动完成?比如,先合并开发到主检查,如果失败不要合并
  • 你检查protected branches and required status check documentation了吗?这样,如果 github 操作工作流失败,您可以防止 PR 被合并。

标签: android github continuous-integration yaml github-actions


【解决方案1】:

在使用拉取请求合并之前,有一种超级方便的方法可以构建、测试和汇总某些分支的更改结果。

创建拉取请求并触发执行检查的工作流很常见。只需添加“pull_request:”即可重用您现有的工作流程,构建和测试您的更改。

name: Android CI
on:
  push:
    branches: [ main ]
  pull_request:

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v1

      - name: set up JDK 11
        uses: actions/setup-java@v1
        with:
          java-version: 11

      # Runs ktlint
      - name: Lint
        run: ./gradlew ktlintCheck

      # Execute unit tests
      - name: Unit Test
        run: ./gradlew testDebugUnitTest

作业是并行执行的。当然这样更快。常见用例是定义所需测试目标的矩阵,例如操作系统版本,node 或 Java 版本。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-27
    • 2021-10-01
    • 2021-06-25
    • 2020-08-31
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 2018-08-22
    相关资源
    最近更新 更多