From 5a7ad6e5748d249422200d72f40f62cf3836480c Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Wed, 17 Jun 2026 17:47:35 +0000 Subject: [PATCH] docs(site): add PublishPipelineArtifact@1, DownloadPipelineArtifact@2, DeleteFiles@1 helpers to ir.mdx Three typed helpers added in #1063, #1065, and #1071 were missing from the site docs. This patch: - Adds three rows to the Available helpers table in ir.mdx - Updates the tasks.rs module-layout bullet to list all 12 helpers - Updates the cross-reference sentence in extending.mdx to mention the three new entries Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- site/src/content/docs/guides/extending.mdx | 2 +- site/src/content/docs/reference/ir.mdx | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/site/src/content/docs/guides/extending.mdx b/site/src/content/docs/guides/extending.mdx index 08d832f6..7d5082fa 100644 --- a/site/src/content/docs/guides/extending.mdx +++ b/site/src/content/docs/guides/extending.mdx @@ -137,7 +137,7 @@ let copy = Step::Task( ); ``` -The full set of typed helpers lives in `src/compile/ir/tasks.rs` and is documented in the [IR reference](/ado-aw/reference/ir/#typed-task-helpers). Helpers cover: `CopyFiles@2`, `DockerInstaller@0`, `DotNetCoreCLI@2`, `ArchiveFiles@2`, `ExtractFiles@1`, `PublishTestResults@2`, `NuGetCommand@2`, and `PowerShell@2` (file and inline modes). +The full set of typed helpers lives in `src/compile/ir/tasks.rs` and is documented in the [IR reference](/ado-aw/reference/ir/#typed-task-helpers). Helpers cover: `CopyFiles@2`, `DockerInstaller@0`, `DotNetCoreCLI@2`, `ArchiveFiles@2`, `ExtractFiles@1`, `PublishTestResults@2`, `NuGetCommand@2`, `PowerShell@2` (file and inline modes), `PublishPipelineArtifact@1`, `DownloadPipelineArtifact@2`, and `DeleteFiles@1`. When no typed helper exists for your task, fall back to `TaskStep::new`: diff --git a/site/src/content/docs/reference/ir.mdx b/site/src/content/docs/reference/ir.mdx index 58c98971..7c229031 100644 --- a/site/src/content/docs/reference/ir.mdx +++ b/site/src/content/docs/reference/ir.mdx @@ -22,7 +22,7 @@ Those wrappers are the only place per-target shape (top-level `PipelineShape`, t - `ids.rs` — typed `StageId`, `JobId`, and `StepId` newtypes. Constructors validate the ADO identifier grammar (`^[A-Za-z_][A-Za-z0-9_]*$`) so invalid names fail at compile time. - `step.rs` — `Step` and concrete step structs: `BashStep`, `TaskStep`, `CheckoutStep`, `DownloadStep`, and `PublishStep`. -- `tasks.rs` — typed factory helpers for built-in ADO task steps (`CopyFiles@2`, `DockerInstaller@0`, `DotNetCoreCLI@2`, `ArchiveFiles@2`, `ExtractFiles@1`, `PublishTestResults@2`, `NuGetCommand@2`, `PowerShell@2`). Prefer these over hand-crafted `TaskStep::new()` calls — see [Typed task helpers](#typed-task-helpers) below. +- `tasks.rs` — typed factory helpers for built-in ADO task steps (`CopyFiles@2`, `DockerInstaller@0`, `DotNetCoreCLI@2`, `ArchiveFiles@2`, `ExtractFiles@1`, `PublishTestResults@2`, `NuGetCommand@2`, `PowerShell@2`, `PublishPipelineArtifact@1`, `DownloadPipelineArtifact@2`, `DeleteFiles@1`). Prefer these over hand-crafted `TaskStep::new()` calls — see [Typed task helpers](#typed-task-helpers) below. - `job.rs` — `Job`, `Pool`, job variables, 1ES `templateContext` support, and target-job external `dependsOn` / `condition` wrapping. - `stage.rs` — `Stage` plus target-stage external `dependsOn` / `condition` wrapping. - `env.rs` — typed environment values (`EnvValue`) including ADO macros, pipeline variables, secrets, `OutputRef`s, `Coalesce`, and macro-form `Concat`. @@ -134,6 +134,9 @@ These helpers eliminate hand-crafted `TaskStep::new(…)` + raw string inputs at | `nuget_command_step(command)` | `NuGetCommand@2` | operation (`"restore"`, `"push"`, `"pack"`, `"custom"`) | | `powershell_file_step(file_path)` | `PowerShell@2` (file mode) | path to `.ps1` script | | `powershell_inline_step(script)` | `PowerShell@2` (inline mode) | inline script body | +| `publish_pipeline_artifact_step(target_path)` | `PublishPipelineArtifact@1` | path to the file or directory to publish (ADO macros OK; wildcards not supported) | +| `download_pipeline_artifact_step(target_path)` | `DownloadPipelineArtifact@2` | local destination path for the downloaded artifact | +| `delete_files_step(contents)` | `DeleteFiles@1` | newline-separated glob patterns identifying files/folders to remove | ### Usage example