iOS Github 操作(构建、测试和部署)
iOS Github Actions (build, test and deploy)
我正在尝试使用 github actons 做一个简单的工作流程,所以当我推送到我的 master 分支时,它会在 macOS-latest
中构建代码并在 [=14] 中测试它=].
由于很新,教程还不完整,谁能帮帮我?
这是我目前拥有的:
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,OS=12.4,name=iPhone 11 Pro Max']
steps:
- name: Checkout
uses: actions/checkout@master
- name: Run tests
run: swift test -v
此外,由于我没有将应用部署到应用商店,我该如何进行部署阶段?也许将它合并到 master 分支?我需要 3 个阶段,构建、测试和部署
这是我遇到的错误:
根据你的问题,我认为你应该使用 xcodebuild
命令行工具而不是 swift build
和 swift 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。
我正在尝试使用 github actons 做一个简单的工作流程,所以当我推送到我的 master 分支时,它会在 macOS-latest
中构建代码并在 [=14] 中测试它=].
由于很新,教程还不完整,谁能帮帮我?
这是我目前拥有的:
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,OS=12.4,name=iPhone 11 Pro Max']
steps:
- name: Checkout
uses: actions/checkout@master
- name: Run tests
run: swift test -v
此外,由于我没有将应用部署到应用商店,我该如何进行部署阶段?也许将它合并到 master 分支?我需要 3 个阶段,构建、测试和部署
这是我遇到的错误:
根据你的问题,我认为你应该使用 xcodebuild
命令行工具而不是 swift build
和 swift 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。