Skip to content

feat(ir): add typed helper for PublishPipelineArtifact@1#1065

Merged
jamesadevine merged 2 commits into
mainfrom
feat/ir-publish-pipeline-artifact-v1-7ca5b0235cf32a11
Jun 17, 2026
Merged

feat(ir): add typed helper for PublishPipelineArtifact@1#1065
jamesadevine merged 2 commits into
mainfrom
feat/ir-publish-pipeline-artifact-v1-7ca5b0235cf32a11

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Summary

Adds a typed factory function for PublishPipelineArtifact@1 to the ado-aw IR.

Motivation

Previously, any code that needed to emit this ADO task step had to hand-craft
TaskStep::new("PublishPipelineArtifact@1", ...) with raw string inputs. This
PR introduces a well-typed helper that makes the required/optional input boundary
explicit and the API self-documenting. PublishPipelineArtifact@1 is the modern
counterpart to DownloadPipelineArtifact@2 — completing the upload/download pair
for pipeline artifact workflows.

Changes

  • src/compile/ir/tasks.rs: publish_pipeline_artifact_step(target_path) factory function with full optional-input documentation table
  • Four unit tests: required-only construction, artifact name, publishLocation, and file-share path variant

ADO Task Reference

Validation

  • cargo build --all-targets
  • cargo test
  • cargo clippy --all-targets --all-features --workspace -- -D warnings

Created by the ado-task-ir-contributor workflow.

Warning

Firewall blocked 2 domains

The following domains were blocked by the firewall during workflow execution:

  • spsprodeus21.vssps.visualstudio.com
  • spsprodweu4.vssps.visualstudio.com

To allow these domains, add them to the network.allowed list in your workflow frontmatter:

network:
  allowed:
    - defaults
    - "spsprodeus21.vssps.visualstudio.com"
    - "spsprodweu4.vssps.visualstudio.com"

See Network Configuration for more information.

Generated by ADO Task IR Contributor · 476.9 AIC · ⌖ 19.6 AIC · ⊞ 36.7K ·

Adds `publish_pipeline_artifact_step()` to `src/compile/ir/tasks.rs`.

The helper accepts the required `targetPath` as a positional parameter
and exposes all optional inputs (artifact name, publishLocation,
fileSharePath, parallel copy flags, custom properties) via the existing
`.with_input()` builder on `TaskStep`.

Four unit tests cover:
- Default construction (task ID, display name, required input only)
- Optional artifact name
- Optional publishLocation
- File share path variant

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot mentioned this pull request Jun 16, 2026
@jamesadevine jamesadevine marked this pull request as ready for review June 17, 2026 10:32
@jamesadevine

Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts in this pull request

Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>

Copilot AI commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Resolved. The conflict was in src/compile/ir/tasks.rs — both this branch and main added a new task helper function in the same location (publish_pipeline_artifact_step here, download_pipeline_artifact_step in #1063). The merge keeps both functions and all 8 tests. Commit: befc3fe.

Copilot AI requested a review from jamesadevine June 17, 2026 10:40
@jamesadevine jamesadevine merged commit 9dc3176 into main Jun 17, 2026
@jamesadevine jamesadevine deleted the feat/ir-publish-pipeline-artifact-v1-7ca5b0235cf32a11 branch June 17, 2026 14:03
github-actions Bot added a commit that referenced this pull request Jun 17, 2026
…, 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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants