GitHub Copilot Instructions for Actions Runner Images Repository

Scope and goals

Architecture overview

Repository map

Path What lives here
images/<os>/ Per-image sources, where <os> is a Packer-built VM image: ubuntu, windows, or macos. (ubuntu-slim is Docker-based with a different layout — see its own row.)
images/<os>/templates/ Packer (HCL2) templates.
images/<os>/toolsets/toolset-*.json Declarative tool/version pinning (validated by schemas/toolset-schema.json).
images/<os>/scripts/build/ Install scripts that run during image generation.
images/<os>/scripts/tests/ Pester v5 validation scripts (*.Tests.ps1).
images/<os>/scripts/helpers/ Shared install/validation helpers (e.g. Ubuntu install.sh, Windows ImageHelpers.psm1).
images/<os>/scripts/docs-gen/Generate-SoftwareReport.ps1 Generates the image's *-Readme.md software list.
images/ubuntu-slim/ Docker-based slim image: Dockerfile, test.sh, and generate-software-report.sh, plus scripts/build, scripts/helpers, and toolsets/ (no Packer template or Pester scripts/tests).
helpers/ Repo-level orchestration scripts (e.g. GenerateResourcesAndImage.ps1).
docs/ Build and topic docs (start with create-image-and-azure-resources.md).
schemas/ JSON schema for toolset files.
.github/workflows/ CI: per-image builds, linting, tests, and schema/version checks.
.vscode/ Recommended extensions and editor settings for contributors.

Key workflows

Onboarding new contributors

Code and command instructions

Output format

Style and tone

Safety and integrity