Overview
This repository is the definitive source for the virtual machine images powering GitHub-hosted runners and Microsoft-hosted agents for Azure Pipelines. It provides a robust and comprehensive set of operating system images pre-configured with essential development tools, enabling seamless execution of CI/CD workflows.
Key Features
- Extensive OS Support: Offers a variety of Ubuntu (x64 and Arm64), macOS (x64 and Arm64), and Windows Server images, catering to diverse development needs.
- Architecture Diversity: Includes support for both
x64andarm64architectures, ensuring compatibility with modern hardware and development trends. - Managed Software & Versions: Provides detailed lists of included software and their versions, with clear policies on support, deprecation, and update cadences. This includes popular language runtimes (Java, Node.js, Python, .NET), containerization tools (Docker), build tools (GCC, Clang), and IDE-specific environments (Xcode).
- Labeling Scheme: Employs intuitive YAML labels like
ubuntu-latest,windows-2025, andmacos-latestfor easy integration into CI/CD workflows, with clear guidance on-latestmigrations. - Image Lifecycle Management: Outlines a transparent deprecation policy for older images, ensuring users are informed and have ample time to transition their workflows.
- Beta & GA Programs: Offers Beta images for early feedback and General Availability (GA) images that have undergone rigorous testing, ensuring stability and reliability.
Typical Use Cases
- Continuous Integration (CI): Automate the building, testing, and packaging of software projects across multiple operating systems and architectures.
- Continuous Deployment (CD): Streamline the release process by deploying applications to various environments using pre-configured and reliable runner images.
- Cross-Platform Development: Develop and test applications designed to run on Ubuntu, macOS, and Windows, ensuring broad compatibility.
- Leveraging Latest Tools: Utilize the most recent versions of popular development tools and SDKs, pre-installed and readily available for immediate use in your workflows.
- Optimizing Workflow Performance: Select specific image labels to ensure your builds run on the desired OS version and architecture, minimizing potential compatibility issues.
