Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы, возможно, еще выполняется. Актуальные сведения см. в документации на английском языке.

Поддержка этой версии GitHub Enterprise была прекращена 2023-03-15. Исправления выпускаться не будут даже при критических проблемах безопасности. Для повышения производительности, укрепления безопасности и новых функций установите последнюю версию GitHub Enterprise. Чтобы получить справку по обновлению, обратитесь в службу поддержки GitHub Enterprise.

Создание и тестирование для Swift

Вы можете создать рабочий процесс непрерывной интеграции для сборки и тестирования проекта Swift.

Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.

Введение

В этом руководстве описано, как создавать и тестировать пакет Swift.

GitHub средства выполнения тестов имеют кэш инструментов с предварительно установленным программным обеспечением, а средства выполнения тестов Ubuntu и macOS включают в себя зависимости для создания пакетов Swift. Полный список актуальных программ и предварительно установленных версий Swift и Xcode см. в статье Сведения о средствах выполнения тестов, размещенных в GitHub.

Предварительные требования

Вы уже должны быть знакомы с синтаксисом YAML и его использованием с GitHub Actions. Дополнительные сведения см. в статье Синтаксис рабочего процесса для GitHub Actions.

Рекомендуется иметь базовое представление о пакетах Swift. Дополнительные сведения см. в статье Пакеты Swift документации Apple для разработчиков.

Использование начального рабочего процесса Swift

GitHub предоставляет начальный рабочий процесс Swift, который должен работать для большинства проектов Swift. В этом руководстве приведены примеры настройки начального рабочего процесса. Дополнительные сведения см. в разделе Начальный рабочий процесс Swift.

Чтобы быстро приступить к работе, добавьте начальный рабочий процесс в каталог .github/workflows своего репозитория.

YAML
name: Swift

on: [push]

jobs:
  build:

    runs-on: macos-latest

    steps:
      - uses: actions/checkout@v2
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Указание версии Swift

Чтобы использовать конкретную предварительно установленную версию Swift в размещенном в GitHub средстве выполнения тестов, примените действие fwal/setup-swift. Это действие находит определенную версию Swift из кэша инструментов в средстве выполнения тестов и добавляет необходимые двоичные файлы в переменную PATH. Эти изменения будут сохранены для остальной части задания. Дополнительные сведения см. в описании действия fwal/setup-swift.

При использовании локального средства выполнения тестов необходимо установить нужные версии Swift и добавить их в PATH.

В приведенных ниже примерах показано использование действия fwal/setup-swift.

Использование нескольких версий Swift

Задание можно настроить для использования нескольких версий Swift в матрице.

YAML

# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.
# Они предоставляются сторонним поставщиком, и на них распространяются
# отдельные условия обслуживания, политика конфиденциальности и поддержка
# документации.

# GitHub рекомендует закрепить действия в фиксации SHA.
# Чтобы получить более новую версию, потребуется обновить SHA.
# Вы также можете ссылаться на тег или ветвь, однако действие может измениться без предупреждения.

name: Swift

on: [push]

jobs:
  build:
    name: Swift ${{ matrix.swift }} on ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, macos-latest]
        swift: ["5.2", "5.3"]
    runs-on: ${{ matrix.os }}
    steps:
      - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
        with:
          swift-version: ${{ matrix.swift }}
      - uses: actions/checkout@v2
      - name: Build
        run: swift build
      - name: Run tests
        run: swift test

Использование одной определенной версии Swift

Вы можете настроить задание для использования одной конкретной версии Swift, например 5.3.3.

YAML
steps:
  - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
    with:
      swift-version: "5.3.3"
  - name: Get swift version
    run: swift --version # Swift 5.3.3

Создание и тестирование кода

Вы можете использовать те же команды, которые используете в локальной среде для создания и тестирования кода с помощью Swift. В этом примере показано, как использовать swift build и swift test в задании:

YAML
steps:
  - uses: actions/checkout@v2
  - uses: fwal/setup-swift@2040b795e5c453c3a05fcb8316496afc8a74f192
    with:
      swift-version: "5.3.3"
  - name: Build
    run: swift build
  - name: Run tests
    run: swift test