未明显原因 Github Actions 工作被取消

13

我试图为我的一个项目设置github actions脚本。目前该项目是私有的,因为我希望在第一次发布之前处于RC状态。由于该项目已经接近完成,我打算现在设置自动构建,但我发现了一些奇怪的行为。该项目是一个简单的C#库,因此.yml文件非常简单:


name: .NET Core Desktop

on: [push, pull_request]

jobs:

  build:

    strategy:
      matrix:
        configuration: [Debug, Release]

    runs-on: windows-latest  

    env:
      Solution_Name: Replacement.sln                         # Replace with your solution name, i.e. MyWpfApp.sln.
      Test_Project_Path: UnitTest.csproj                 # Replace with the path to your test project, i.e. MyWpfApp.Tests\MyWpfApp.Tests.csproj.

    steps:
    - name: Checkout
      uses: actions/checkout@v3
      with:
        fetch-depth: 0

    # Run build
    - name: Run build
      run: ./build.cmd --target pack --configuration ${{ matrix.configuration }}

有时,构建(调试或发布版本,或两者)会出现以下条目之一失败:
Terminate batch job (Y/N)? 
Error: The operation was canceled.

在日志中我肯定没有以任何方式取消构建。这可能会在大约3分钟后发生。

我是否遇到了GitHub的构建时间限制(我怎么知道)?还是有其他我忽略的问题?


1
似乎工作流在取消您的作业之前需要手动交互(终止批处理作业(Y/N)?),如果没有任何操作,服务器可能会在5分钟后自动取消作业(参考)。 - GuiFalourd
2
@GuiFalourd 这是在总运行时间仅为3分钟后发生的,最后一次输出大约只有1秒钟。 - PMF
1
今天在工作中我们也遇到了类似的情况,但是我们使用了自托管的运行程序。经过三次重试后,它终于成功了。你们的工作流程已经恢复正常了吗?还是取消操作仍在发生? - GuiFalourd
2
现在似乎可以工作了。也许是因为我在短时间内启动了太多的构建(当然,从一开始就没有正常工作)。 - PMF
2个回答

5

添加fail-fast:false

    strategy:
      fail-fast: false
      matrix: ...

4
那应该具体是要做什么? - PMF
3
https://docs.github.com/en/actions/using-jobs/using-a-matrix-for-your-jobs#handling-failures - Piotr Zakrzewski
那帮助了我。谢谢 @Saba - Underoos
通过这个改变,我得到了退出代码"143"而不是"1",所以稍微好一点,但它仍然没有告诉我为什么它失败了。我只能猜测是内存、磁盘或其他原因,或者必须手动进行进一步的调查。 - undefined

0
在GitHub Actions的YAML文件中,出现“错误:操作已取消”的可能原因之一是某处发生了超时。
jobs:
  something:
    name: do something
    runs-on: ubuntu-latest
    timeout-minutes: 10 # Consider increasing timeout

这很容易被忽视,因为超时可能在与失败步骤不同的文件中定义。

你所说的“在另一个文件中”是什么意思?只有这个yml文件。 - PMF
在使用GitHub Actions的更复杂的CI/CD系统中,工作流可能会被定义在多个文件中。如果你只有一个文件,并且没有设置超时时间,那么我的答案对你来说就不适用。我想提到超时时间(即使它可能无法解决你的问题),是因为我花了一个小时才找到为什么我的作业被取消了,所以我希望能够防止其他人浪费像我一样多的时间。 - Vince Varga

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接