为Xcode的CircleCI构建添加超时

时间:2017-04-03 18:03:54

标签: ios xcode unit-testing testing circleci

我似乎无法获得我的circle.yml文件以延长iOS测试的超时时间。我基本上跟着他们的例子运行了,但因为我的测试很慢,所以它永远不会完成并且在600s标记处超时(默认)。我需要添加超时修改器(某处)以使其运行完成。有人可以指出我应该使用超时修饰符的位置,以使其运行时间超过5分钟。

circle.yml

machine:
  timezone:
    America/Chicago
  xcode:
    version: 8.3

dependencies:
  pre:
    - xcrun instruments -w "iPad Air 2" || true

test:
  override:
    - set -o pipefail &&
      xcodebuild
        CODE_SIGNING_REQUIRED=NO
        CODE_SIGNING_IDENTITY=
        PROVISIONING_PROFILE=
        GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES
        GCC_GENERATE_TEST_COVERAGE_FILES=YES
        -sdk iphonesimulator
        -destination 'platform=iOS Simulator,name=iPad Air 2'
        -workspace Augusta.xcworkspace
        -scheme "Augusta"
        clean build test |
      tee $CIRCLE_ARTIFACTS/xcode_raw.log |
      xcpretty --color --report junit --output $CIRCLE_TEST_REPORTS/xcode/results.xml
    - bash <(curl -s https://codecov.io/bash)

1 个答案:

答案 0 :(得分:0)

我最终得到了CircleCI的一些反馈意见。他们无法完全回答,但给了我足够的答案让我自己解决。

问题归结为将所有项目放在各自独立的行上。 YML对此并不太友好。当你只有1行而没有修饰符时,它可以工作,但是当你开始添加它时,它会分解很糟糕。将命令放在1行并让它软包装是关键。这是我正在使用的,它的工作正常。

general:
  branches:
    ignore:
      - /^wip.*/ #ignore wip branches

machine:
  timezone:
    America/Chicago
  xcode:
    version: 8.3

dependencies:
  pre:
    - xcrun instruments -w "iPhone 7" || true

test:
  override:
    - set -o pipefail && xcodebuild CODE_SIGNING_REQUIRED=NO CODE_SIGNING_IDENTITY= PROVISIONING_PROFILE= GCC_INSTRUMENT_PROGRAM_FLOW_ARCS=YES GCC_GENERATE_TEST_COVERAGE_FILES=YES -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 7' -workspace "Augusta.xcworkspace" -scheme "Augusta" clean build test | tee $CIRCLE_ARTIFACTS/xcode_raw.log | xcpretty --color --report junit --output $CIRCLE_TEST_REPORTS/xcode/results.xml:
       timeout: 3600
    - bash <(curl -s https://codecov.io/bash)