Недавняя находка одного из энтузиастов GitHub Actions переворачивает представление о том, как может выполняться код внутри популярного сервиса автоматизации задач. Оказывается, указать в качестве оболочки (shell) можно совершенно любую исполняемую программу из $PATH, и GitHub беспрекословно будет её использовать. Давайте подробнее разберёмся, почему это интересно, и какие перспективы открываются перед разработчиками и DevOps-инженерами. Привычно, что в GitHub Actions используется стандартный shell по умолчанию: Однако, оказывается, GitHub совершенно спокойно воспримет любой бинарник из вашего пути исполнения $PATH. Для этого достаточно указать в workflow-блоке: - shell: ваша_программа {0}
run: |
# код, который будет передан во временном файле Эта особенность не была подробно задокументирована, а значит, открывает интересные горизонты для изобретательных пользователей. Автор оригинальной статьи демонстрирует сразу несколько «экстремальных» примеров применения такого подхода: 🎯 За