GitHub Actions Runner Images

repository·main·Indexed 12 days ago

https://github.com/actions/runner-images

Source code and definitions for the virtual machine images used by GitHub-hosted runners and Azure DevOps Microsoft-hosted agents. Includes documentation on available runner images (Ubuntu, macOS, Windows), YAML labels, software versioning policies, and configuration for toolsets such as Xcode and Android.

Tokens
46.3K
Snippets
120
Records
183
Agent score
92%

What's inside GitHub Actions Runner Images

  1. Software installed on Windows 11 Enterprise Arm64

    main
    The Windows 11 Enterprise Arm64 runner image includes a wide range of pre-installed software across various categories including languages, package managers, project management tools, CLI tools, and development environments. This allows for immediate execution of diverse build and test workflows without manual installation steps.
  2. Important macOS Announcements and Deprecations

    main

    Stay informed about upcoming changes to the macOS runner environment:

    • Xcode Availability: Xcode 27 is available as a public preview.
    • Default Xcode Change: On macOS 26 Tahoe, the default Xcode version will be set to Xcode 26.6 starting on 2026-07-21.
    • macOS 14 Sonoma Deprecation: macOS 14 Sonoma based runner images began deprecation on July 6th and will be fully unsupported by November 2nd for both GitHub Actions and Azure DevOps.
  3. Software specifications for Ubuntu-Slim image

    main

    The Ubuntu-Slim runner image is based on Ubuntu 24.04.4 LTS (Image Version: 20260728.2.1). It is a lightweight image containing essential runtimes, package managers, and CLI tools.

    Key Specifications:

    • OS Version: 24.04.4 LTS
    • Systemd version: 255.4-1ubuntu8.16
    • Primary Runtimes: Node.js 24.18.0, Python 3.12.3, Bash 5.2.21, Perl 5.38.2.
  4. Understand GitHub Actions Runner Images

    main

    This repository contains the source code used to create the Virtual Machine (VM) images for GitHub-hosted runners (used in GitHub Actions) and Microsoft-hosted agents (used in Azure Pipelines).

    If you need to build a VM machine from this repository's source, refer to the instructions in docs/create-image-and-azure-resources.md.

  5. Review installed software on macOS 15 arm64

    main

    The macOS 15 arm64 runner comes pre-installed with a wide range of software across several categories:

    • Languages & Runtimes: .NET Core (8.0, 9.0, 10.0), Bash, Clang/LLVM, GCC, Kotlin, Node.js (22.x), Perl, Python3 (3.14), Ruby.
    • Package Managers: Bundler, Carthage, CocoaPods, Homebrew, NPM, Pip3, Pipx, RubyGems, Vcpkg, Yarn.
    • Project Management: Apache Ant, Apache Maven, Gradle.
    • Utilities: 7-Zip, aria2, azcopy, bazel, bazelisk, bsdtar, Curl, Git, GitHub CLI, GNU Tar, GNU Wget, gpg, jq, OpenSSL, Packer, pkgconf, Unxip, yq, zstd, Ninja.
    • Tools: AWS CLI, AWS SAM CLI, Azure CLI, Bicep CLI, Cmake, CodeQL Action Bundle, Fastlane, SwiftFormat, Xcbeautify, Xcode Command Line Tools, Xcodes.
    • Browsers: Safari, Google Chrome, Microsoft Edge, Mozilla Firefox, and their respective drivers (ChromeDriver, Edge WebDriver, geckodriver).
    • Rust: Cargo, Rust, Rustdoc, Rustup, Clippy, Rustfmt.
    • PowerShell: PowerShell 7.6.4 with modules Az, Pester, and PSScriptAnalyzer.
  6. Customize manual image generation

    main

    The GenerateResourcesAndImage function supports several customization options:

    • Tagging: Pass a HashTable to the -Tags parameter to tag all resources created during the process.
    • Non-interactive Authentication: To avoid interactive login, provide a Service Principal using the -AzureClientId, -AzureClientSecret, and -AzureTenantId parameters.
    • Network Security:
      • If the build agent is outside the Azure subscription, ensure WinRM (TCP 5986) or SSH (TCP 22) is allowed.
      • Use the -RestrictToAgentIpAddress $true parameter to restrict firewall access to only the build agent's public IP.
      • If the agent and VM are in the same subscription, use environment variables VNET_RESOURCE_GROUP, VNET_NAME, and VNET_SUBNET to connect via a private virtual network.
  7. Access Miniconda and MSYS2 (Not in PATH)

    main

    Certain tools are pre-installed on the Windows Server 2025 image but are not automatically added to the system PATH. You must use their absolute paths or manually update your environment to use them:

    • Miniconda: Located at C:\Miniconda. Use the CONDA environment variable to reference this root.
    • MSYS2: Located at C:\msys64. This includes pacman (version 6.1.0).
  8. Configure Xcode Simulator Runtimes

    main

    You can control which simulator runtimes are installed for a specific Xcode version using the install_runtimes property.

    Runtime Installation Options

    1. "default": Installs all default runtimes.
    2. "none": Skips runtime installation entirely.
    3. Hashtable (Manual Selection): Allows granular control.
      • Mandatory Keys: "iOS", "watchOS", "tvOS". For arm64 images, "visionOS" is also mandatory.
      • Values: An array of strings containing:
        • "default": Installs the default runtime for that platform.
        • "skip": Skips that specific platform.
        • Version Numbers: Specific versions like "18.2" or "2.2".
        • Apple Release Versions: Specific build identifiers like "22E5216h" or "17A577".
    "install_runtimes": [
      { "iOS": ["18.0", "18.1", "18.2"] },
      { "watchOS": "default" },
      { "tvOS": "default" },
      { "visionOS": "2.2" }
    ]