Компьютеры · Инструкция
Как определить ОС и архитектуру runner в GitHub Actions
Внутри job GitHub предоставляет переменные runner-контекста. Для shell-команд доступны стандартные переменные `RUNNER_OS
Короткий ответ
В step выведите или используйте `$RUNNER_OS` и `$RUNNER_ARCH`; в выражениях workflow при необходимости используйте контекст `runner.os` и `runner.arch`.
Что делать
- Добавьте диагностический step: В shell выполните `echo "$RUNNER_OS $RUNNER_ARCH"`.
- Сверьте runs-on: Проверьте, что значения соответствуют выбранному runner.
- Ветвите установку: Выбирайте архив или команду по ОС/архитектуре, а не по имени runner label.
- Не логируйте лишнее: Оставьте только данные среды, которые реально помогают диагностике.
Проверка результата
- Определены фактические OS и architecture job
- Скрипт выбирает совместимый бинарник
Важно
Значения контекста и labels решают разные задачи: labels выбирают runner, а runner-переменные описывают уже запущенную среду.
Что учитывать
Значения контекста и labels решают разные задачи: labels выбирают runner, а runner-переменные описывают уже запущенную среду.
Источники и проверка
Фактическая часть сверена по первичным источникам (в т.ч. Variables reference). Пример и формулировки — редакция N1RO на 2026-09-18.