iOS Github操作(构建,测试和部署)

我正在尝试使用github actons创建一个简单的工作流,因此当我将其推送到我的master分支时,它将在macOS-latest中构建代码并在OS 12.4,iPhone 11 Pro Max上进行测试。 由于它是非常新的,教程还不完整,有人可以帮我吗?

这是我现在拥有的:

name: Styleon_Workflow

on: [push]

jobs:
  build:

    runs-on: macOS-latest
    strategy:
      matrix:
        destination: ['platform=iOS Simulator,OS=12.4,name=iPhone 11 Pro Max']

    steps:
    - uses: actions/checkout@master
    - name: Build
      run: swift build -v

  test:
      name: Test
      runs-on: macOS-latest
      strategy:
          matrix:
            destination: ['platform=iOS Simulator,name=iPhone 11 Pro Max']
      steps:
        - name: Checkout
          uses: actions/checkout@master
        - name: Run tests
          run: swift test -v

此外,由于我没有将应用程序部署到应用商店中,我该如何进行部署阶段?也许将其合并到主分支?我需要分三个阶段进行构建,测试和部署

这是我得到的错误:

iOS Github操作(构建,测试和部署)

superhsq 回答:iOS Github操作(构建,测试和部署)

我希望这会有所帮助。首先,这里仅执行一个作业,这是您的“构建”作业。

您必须使用runs-on下的策略一次来设置jobs:参数。

接下来,您设置步骤,分别用于“构建”和“测试”:

steps:
- uses: actions/checkout@master
- name: Build
  run: swift build -v
- name: Test
  run: swift test -v

通过这种方式,您可以按照想要的顺序执行两个步骤:构建,下一个测试。

对于部署,您可以执行另一个步骤,或者执行带有参数need的作业。

您还提供了一个示例,以使本文更好地解释如何编写工作流(也可以使用服务):How to create Github Actions to run tests with Docker services

否则,您的清单error: root manifest not found出错。您检查了吗?

,

根据您的问题,我认为您应该使用xcodebuild命令行工具,而不要使用swift buildswift test

据我所见,您应该使用以下命令进行构建:

set -o pipefail && xcodebuild clean -scheme $SCHEME -destination $DESTINATION -derivedDataPath $DERIVED_DATA_PATH build-for-testing

并将其用于测试:

set -o pipefail && xcodebuild test-without-building -xctestrun $(find . -type f -name "*.xctestrun") -destination "platform=iOS Simulator,name=$DEVICE" -derivedDataPath $DERIVED_DATA_PATH -enableCodeCoverage YES

请注意,在作业之间,您应该上传和下载.xctestrun文件。

您可以找到详细的示例here

本文链接:https://www.f2er.com/3092911.html

大家都在问