{"meta":{"title":"Создание и тестирование для Swift","intro":"Узнайте, как создать рабочий процесс непрерывной интеграции (CI) для создания и тестирования проекта Swift.","product":"GitHub Actions","breadcrumbs":[{"href":"/ru/actions","title":"GitHub Actions"},{"href":"/ru/actions/tutorials","title":"Учебники"},{"href":"/ru/actions/tutorials/build-and-test-code","title":"Сборка и тестирование кода"},{"href":"/ru/actions/tutorials/build-and-test-code/swift","title":"Swift"}],"documentType":"article"},"body":"# Создание и тестирование для Swift\n\nУзнайте, как создать рабочий процесс непрерывной интеграции (CI) для создания и тестирования проекта Swift.\n\n## Введение\n\nВ этом руководстве описано, как создавать и тестировать пакет Swift.\n\nGitHub-размещенные модули runner имеют кэш средств с предварительно установленным программным обеспечением, а средства запуска Ubuntu и macOS включают зависимости для создания пакетов Swift. Полный список актуального программного обеспечения и предварительно установленных версий Swift и Xcode см. в разделе [Средства выполнения тестов, размещенные в GitHub](/ru/actions/concepts/runners/github-hosted-runners#preinstalled-software-for-github-owned-images).\n\n## Необходимые компоненты\n\nВы уже должны быть знакомы с синтаксисом YAML и его использованием GitHub Actions. Дополнительные сведения см. в разделе [Синтаксис рабочего процесса для GitHub Actions](/ru/actions/reference/workflows-and-actions/workflow-syntax).\n\nРекомендуется иметь базовое представление о пакетах Swift. Дополнительные сведения см. в документации [разработчика Apple по пакетам Swift](https://developer.apple.com/documentation/xcode/swift-packages) .\n\n## Использование шаблона рабочего процесса Swift\n\nЧтобы быстро приступить к работе, добавьте шаблон рабочего процесса в `.github/workflows` каталог репозитория.\n\nGitHub предоставляет шаблон рабочего процесса для Swift, который должен работать для большинства проектов Swift. В последующих разделах этого руководства приведены примеры настройки этого шаблона рабочего процесса.\n\n1. На GitHubперейдите на главную страницу репозитория.\n\n2. Под именем репозитория щелкните **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-play\" aria-label=\"play\" role=\"img\"><path d=\"M8 0a8 8 0 1 1 0 16A8 8 0 0 1 8 0ZM1.5 8a6.5 6.5 0 1 0 13 0 6.5 6.5 0 0 0-13 0Zm4.879-2.773 4.264 2.559a.25.25 0 0 1 0 .428l-4.264 2.559A.25.25 0 0 1 6 10.559V5.442a.25.25 0 0 1 .379-.215Z\"></path></svg> Actions**.\n\n   ![Снимок экрана: вкладки для репозитория github/docs. Вкладка \"Действия\" выделена оранжевым контуром.](/assets/images/help/repository/actions-tab-global-nav-update.png)\n\n3. Если в вашем репозитории уже используется рабочий процесс, нажмите кнопку **Создать рабочий процесс**.\n\n4. На странице \"Выбор рабочего процесса\" показан выбор рекомендуемых шаблонов рабочих процессов. Найдите \"swift\".\n\n5. Отфильтруйте выбор рабочих процессов, щелкнув **\"Непрерывная интеграция**\".\n\n6. В рабочем процессе Swift нажмите кнопку **\"Настроить**\".\n\n7. Измените рабочий процесс по мере необходимости. Например, измените ветвь, в которой будет выполняться рабочий процесс.\n\n8. Щелкните **Зафиксировать изменения**.\n\n   Файл `swift.yml` рабочего процесса добавляется в `.github/workflows` каталог вашего репозитория.\n\n## Указание версии Swift\n\nЧтобы использовать определенную предустановленную версию Swift в GitHubразмещенном средстве выполнения, используйте `swift-actions/setup-swift` действие. Это действие находит определенную версию Swift из кэша инструментов в средстве выполнения тестов и добавляет необходимые двоичные файлы в переменную `PATH`. Эти изменения будут сохранены для остальной части задания. Дополнительные сведения см. в описании действия [`swift-actions/setup-swift`](https://github.com/marketplace/actions/setup-swift).\n\nПри использовании локального средства выполнения тестов необходимо установить нужные версии Swift и добавить их в `PATH`.\n\nВ приведенных ниже примерах показано использование действия `swift-actions/setup-swift`.\n\n### Использование нескольких версий Swift\n\nЗадание можно настроить для использования нескольких версий Swift в матрице.\n\n```yaml copy\n\n# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.\n# Они предоставляются сторонним поставщиком, и на них распространяются\n# отдельные условия обслуживания, политика конфиденциальности и поддержка\n# документации.\n\n# GitHub рекомендует закрепить действия в фиксации SHA.\n# Чтобы получить более новую версию, потребуется обновить SHA.\n# Вы также можете ссылаться на тег или ветвь, однако действие может измениться без предупреждения.\n\nname: Swift\n\non: [push]\n\njobs:\n  build:\n    name: Swift ${{ matrix.swift }} on ${{ matrix.os }}\n    strategy:\n      matrix:\n        os: [ubuntu-latest, macos-latest]\n        swift: [\"5.2\", \"5.3\"]\n    runs-on: ${{ matrix.os }}\n    steps:\n      - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n        with:\n          swift-version: ${{ matrix.swift }}\n      - uses: actions/checkout@v6\n      - name: Build\n        run: swift build\n      - name: Run tests\n        run: swift test\n```\n\n### Использование одной определенной версии Swift\n\nВы можете настроить задание для использования одной конкретной версии Swift, например `5.3.3`.\n\n```yaml copy\n# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.\n# Они предоставляются сторонним поставщиком, и на них распространяются\n# отдельные условия обслуживания, политика конфиденциальности и поддержка\n# документации.\nsteps:\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Get swift version\n    run: swift --version # Swift 5.3.3\n```\n\n## Создание и тестирование кода\n\nВы можете использовать те же команды, которые используете в локальной среде для создания и тестирования кода с помощью Swift. В этом примере показано, как использовать `swift build` и `swift test` в задании:\n\n```yaml copy\n# Этот рабочий процесс использует действия, которые не сертифицированы GitHub.\n# Они предоставляются сторонним поставщиком, и на них распространяются\n# отдельные условия обслуживания, политика конфиденциальности и поддержка\n# документации.\nsteps:\n  - uses: actions/checkout@v6\n  - uses: swift-actions/setup-swift@65540b95f51493d65f5e59e97dcef9629ddf11bf\n    with:\n      swift-version: \"5.3.3\"\n  - name: Build\n    run: swift build\n  - name: Run tests\n    run: swift test\n```"}