os-specific-runner Documentation

The os-specific-runner GitHub Action enables you to execute OS-specific shell commands and scripts directly within a single, unified step on GitHub Actions matrix builds or multi-platform runners—without needing tedious if: runner.os == '...' boilerplate conditions.

Key Features

  • Multi-Platform Coverage: Automatically detects the host platform via Node.js os.platform(), supporting Linux, macOS, Windows, FreeBSD, OpenBSD, AIX, and SunOS.

  • Smart Defaults: Employs appropriate default shells for each platform (bash on Linux, zsh on macOS, pwsh on Windows, and sh on Unix/BSD).

  • Custom Shell Overrides: Override the default shell on any platform with custom binaries or command templates using {0} placeholders.

  • Safe Fallbacks: Unconfigured operating system inputs safely log informative notices without breaking the workflow step.

Select a Version

Select a version of the documentation to browse: