Back to GitHub Actions

GitHub Actions Features

YAML-Based Workflows

GitHub Actions uses YAML-based workflow files stored in .github/workflows/ within repositories. Workflows define triggers (push, pull_request, schedule, etc.), jobs, steps, and actions. The syntax is intuitive and well-documented.

Runner Options

GitHub provides hosted runners for Linux, Windows, and macOS. Self-hosted runners allow running workflows on your own infrastructure for custom hardware requirements or air-gapped environments. Runners can be auto-scaled using the auto-scaling API.

Matrix Builds

Matrix strategies enable running tests across multiple OS and language version combinations in parallel. This is essential for libraries and tools that need to support multiple platforms and runtime versions.

Marketplace and Actions

The GitHub Marketplace hosts over 20,000 actions for common tasks like cloud deployments, testing, code quality, and notifications. Actions can be created from Docker containers, JavaScript, or composite run steps.

Environments and Deployment Gates

GitHub Environments provide protection rules, secret scoping, and deployment tracking. Required reviewers can be added as deployment gates before production deployments proceed.

Related Links