Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Обзор
Используйте jobs.<job_id>.runs-on
для определения типа компьютера, на котором будет запускаться задание.
-
Конечный компьютер может быть локальным модулом выполнения тестов.
-
Вы можете нацеливать средства выполнения на основе назначенных им меток.
-
Вы можете указать следующее
runs-on
:- одна строка
- одна переменная, содержащая строку
- массив строк, переменных, содержащих строки, или сочетание обоих элементов
-
Если указать массив строк или переменных, рабочий процесс будет выполняться в любом средстве выполнения, которое соответствует всем указанным
runs-on
значениям. Например, здесь задание будет выполняться только в локальном средстве выполнения, которое имеет меткиlinux
,x64
иgpu
:runs-on: [self-hosted, linux, x64, gpu]
Дополнительные сведения см. в разделе Выбор локальных средств выполнения тестов.
-
В массиве можно смешивать строки и переменные. Пример.
on: workflow_dispatch: inputs: chosen-os: required: true type: choice options: - Ubuntu - macOS jobs: test: runs-on: [self-hosted, "${{ github.event.inputs.chosen-os }}"] steps: - run: echo Hello world!
-
Если необходимо запустить рабочий процесс на нескольких компьютерах, используйте
jobs.<job_id>.strategy
.
Примечание. В GitHub Enterprise Server в настоящее время не поддерживаются средства выполнения тестов, размещенные в GitHub. Дополнительные сведения о планируемой поддержке в будущем см. в GitHub public roadmap.
Выбор средства выполнения тестов, размещенного на GitHub
При использовании средства выполнения тестов, размещенного на GitHub, каждое задание выполняется в новом экземпляре образа средства выполнения тестов, заданной параметром runs-on
.
Доступны следующие типы средств выполнения тестов, размещенных на GitHub:
Образ средства выполнения тестов | Метка рабочего процесса YAML | Примечания |
---|---|---|
Windows Server 2022 |
windows-latest или windows-2022
|
В настоящее время метка windows-latest использует образ средства выполнения Windows Server 2022.
|
Windows Server 2019 |
windows-2019
|
Нет |
Ubuntu 22.04 |
ubuntu-latest или ubuntu-22.04
|
В ubuntu-latest настоящее время метка использует образ средства выполнения тестов Ubuntu 22.04.
|
Ubuntu 20.04 |
ubuntu-20.04
|
Ни один |
Ubuntu 18.04 [не рекомендуется] |
ubuntu-18.04
|
Миграция на ubuntu-20.04 или ubuntu-22.04 . Дополнительные сведения см. в этой записи блога GitHub.
|
macOS 13 Ventura [бета-версия] |
macos-13 или macos-13-xl
|
Нет |
macOS 12 Monterey |
macos-latest , macos-12 или macos-latest-xl macos-12-xl
|
Метки macos-latest рабочего процесса и macos-latest-xl в настоящее время используют образ средства выполнения тестов macOS 12. Сведения о ценах на поминутное средство выполнения macOS XL (12 ядер) см. в разделе Сведения о выставлении счетов за GitHub Actions.
|
macOS 11 Big Sur |
macos-11
|
Нет |
Примечание. Образы средства выполнения тестов -latest
— это последние стабильные образы, предоставляемые GitHub, и они могут не быть самой последней версией операционной системы, доступной от производителя операционной системы.
Предупреждение: Бета-версии и нерекомендуемые образы предоставляются "как есть", "со всеми сбоями" и "по мере доступности" и исключаются из соглашения об уровне обслуживания и гарантии. Для образов бета-версий может не оказываться поддержка.
Пример: указание операционной системы
runs-on: ubuntu-latest
Дополнительные сведения см. в разделе О средствах выполнения, размещенных в GitHub.
Выбор локальных средств выполнения тестов
Чтобы указать локальное средство выполнения тестов для задания, настройте runs-on
в файле рабочего процесса, используя метки локального средства выполнения тестов.
Все локальные средства выполнения тестов имеют метку self-hosted
. При использовании только этой метки будет выбрано любое локальное средство выполнения тестов. Чтобы выбрать средства выполнения тестов, которые соответствуют определенным критериям, таким как конкретная операционная система или архитектура, рекомендуется предоставить массив меток, начинающихся с self-hosted
(сначала это должно быть указано), а затем включить дополнительные метки по мере необходимости. При указании массива меток задания будут помещены в очередь в средства выполнения тестов, которые имеют все указанные метки.
Несмотря на то что метка self-hosted
не является обязательной, настоятельно рекомендуется указать ее при использовании локальных средств выполнения тестов, чтобы убедиться, что задание не указывает случайно текущие или будущие данные средства выполнения тестов, размещенные в GitHub.
Пример: использование меток для выбора средства выполнения тестов
runs-on: [self-hosted, linux]
Дополнительные сведения см. в разделах О самостоятельно размещенных средствах выполнения и Использование локальных средств выполнения в рабочем процессе.