From 4ba62bd9dae44f4fc037eead69c68147a5102a4b Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Feb 2026 07:16:32 +0000 Subject: [PATCH 1/2] Initial plan From 3a36aa61786c6277d9700fc3643253daa236c352 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 7 Feb 2026 07:22:05 +0000 Subject: [PATCH 2/2] Add runtimes frontmatter field documentation - Document all supported runtimes with default versions - Include configuration fields (version, action-repo, action-version) - Add usage examples for common scenarios - Document default behavior and use cases - Update frontmatter elements list to include runtimes Co-authored-by: pelikhan <4175913+pelikhan@users.noreply.github.com> --- .../src/content/docs/reference/frontmatter.md | 68 ++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/docs/src/content/docs/reference/frontmatter.md b/docs/src/content/docs/reference/frontmatter.md index 272533e8127..ebb3da56f1b 100644 --- a/docs/src/content/docs/reference/frontmatter.md +++ b/docs/src/content/docs/reference/frontmatter.md @@ -22,7 +22,7 @@ tools: ## Frontmatter Elements -The frontmatter combines standard GitHub Actions properties (`on`, `permissions`, `run-name`, `runs-on`, `timeout-minutes`, `concurrency`, `env`, `environment`, `container`, `services`, `if`, `steps`, `cache`) with GitHub Agentic Workflows-specific elements (`description`, `source`, `github-token`, `imports`, `engine`, `strict`, `roles`, `features`, `safe-inputs`, `safe-outputs`, `network`, `tools`). +The frontmatter combines standard GitHub Actions properties (`on`, `permissions`, `run-name`, `runs-on`, `timeout-minutes`, `concurrency`, `env`, `environment`, `container`, `services`, `if`, `steps`, `cache`) with GitHub Agentic Workflows-specific elements (`description`, `source`, `github-token`, `imports`, `engine`, `strict`, `roles`, `features`, `plugins`, `runtimes`, `safe-inputs`, `safe-outputs`, `network`, `tools`). Tool configurations (such as `bash`, `edit`, `github`, `web-fetch`, `web-search`, `playwright`, `cache-memory`, and custom [Model Context Protocol](/gh-aw/reference/glossary/#mcp-model-context-protocol) (MCP) [servers](/gh-aw/reference/glossary/#mcp-server)) are specified under the `tools:` key. Custom inline tools can be defined with the [`safe-inputs:`](/gh-aw/reference/safe-inputs/) (custom tools defined inline) key. See [Tools](/gh-aw/reference/tools/) and [Safe Inputs](/gh-aw/reference/safe-inputs/) for complete documentation. @@ -127,6 +127,72 @@ plugins: Each plugin repository must be specified in `org/repo` format. The compiler generates installation steps that run after the engine CLI is installed but before workflow execution begins. +### Runtimes (`runtimes:`) + +Override default runtime versions for languages and tools used in workflows. The compiler automatically detects runtime requirements from tool configurations and workflow steps, then installs the specified versions. + +**Format**: Object with runtime name as key and configuration as value + +**Fields per runtime**: +- `version`: Runtime version string (required) +- `action-repo`: Custom GitHub Actions setup action (optional, overrides default) +- `action-version`: Version of the setup action (optional, overrides default) + +**Supported runtimes**: + +| Runtime | Default Version | Default Setup Action | +|---------|----------------|---------------------| +| `node` | 24 | `actions/setup-node@v6` | +| `python` | 3.12 | `actions/setup-python@v5` | +| `go` | 1.25 | `actions/setup-go@v5` | +| `uv` | latest | `astral-sh/setup-uv@v5` | +| `bun` | 1.1 | `oven-sh/setup-bun@v2` | +| `deno` | 2.x | `denoland/setup-deno@v2` | +| `ruby` | 3.3 | `ruby/setup-ruby@v1` | +| `java` | 21 | `actions/setup-java@v4` | +| `dotnet` | 8.0 | `actions/setup-dotnet@v4` | +| `elixir` | 1.17 | `erlef/setup-beam@v1` | +| `haskell` | 9.10 | `haskell-actions/setup@v2` | + +**Examples**: + +Override Node.js version: +```yaml wrap +runtimes: + node: + version: "22" +``` + +Use specific Python version with custom setup action: +```yaml wrap +runtimes: + python: + version: "3.12" + action-repo: "actions/setup-python" + action-version: "v5" +``` + +Multiple runtime overrides: +```yaml wrap +runtimes: + node: + version: "20" + python: + version: "3.11" + go: + version: "1.22" +``` + +**Default Behavior**: If not specified, workflows use default runtime versions as defined in the system. The compiler automatically detects which runtimes are needed based on tool configurations (e.g., `bash: ["node"]`, `bash: ["python"]`) and workflow steps. + +**Use Cases**: +- Pin specific runtime versions for reproducibility +- Use preview/beta runtime versions for testing +- Use custom setup actions (forks, enterprise mirrors) +- Override system defaults for compatibility requirements + +**Note**: Runtimes from imported shared workflows are automatically merged with your workflow's runtime configuration. + ### Permissions (`permissions:`) The `permissions:` section uses standard GitHub Actions permissions syntax to specify the permissions relevant to the agentic (natural language) part of the execution of the workflow. See [GitHub Actions permissions documentation](https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions).