Действия iOS Github (сборка, тестирование и развертывание)

Я пытаюсь создать простой рабочий процесс с использованием действий github, поэтому, когда я нажимаю, например, на свою главную ветку, он создает код в 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,OS=12.4,name=iPhone 11 Pro Max']
      steps:
        - name: Checkout
          uses: actions/checkout@master
        - name: Run tests
          run: swift test -v

Кроме того, поскольку я не развертываю приложение в магазине приложений, как я могу выполнить этап развертывания? Может, слить с веткой master? Мне нужно провести 3 этапа: сборка, тестирование и развертывание

Я получаю вот такую ​​ошибку:

введите описание изображения здесь


person Arturo    schedule 15.11.2019    source источник
comment
URL https://api.github.com/repos/actions/checkout/tarball/Development не существует.   -  person koen    schedule 15.11.2019
comment
Да, поменял на - uses: actions/checkout@master и не работает но с ошибками тоже обновлю   -  person Arturo    schedule 15.11.2019
comment
Вы наконец-то заставили его работать? У меня также есть ошибка корневого манифеста, не найденная   -  person gurehbgui    schedule 16.01.2020
comment
@gurehbgui нет, слишком мало информации   -  person Arturo    schedule 16.01.2020
comment
Я не видел, чтобы кто-нибудь говорил о разнице между быстрой сборкой и xcodebuild. Кроме того, действие по умолчанию, рекомендованное GitHub Actions, использует быструю сборку, поэтому оно не дает прямого ответа на вопрос, почему быстрая сборка не работает.   -  person ChunWu    schedule 04.09.2020


Ответы (1)


Основываясь на вашем вопросе, я думаю, вам следует использовать инструмент командной строки 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 файл.

Подробный пример можно найти здесь.

person Gergely    schedule 22.11.2019
comment
Отлично по ссылке! Я изо всех сил пытался найти подходящий пример для Swift. - person Reimond Hill; 14.08.2020
comment
действительно хорошая установка! пальцы вверх - person Aviv Frenkel; 02.12.2020