Skip to content

feat(ir): add typed builder for DownloadSecureFile@1 - #1174

Merged
jamesadevine merged 1 commit into
mainfrom
feat/ir-download-secure-file-fa5a3825aea1a3ae
Jun 24, 2026
Merged

feat(ir): add typed builder for DownloadSecureFile@1#1174
jamesadevine merged 1 commit into
mainfrom
feat/ir-download-secure-file-fa5a3825aea1a3ae

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Summary

Adds a typed builder struct for DownloadSecureFile@1 to the ado-aw IR.

Motivation

Previously, any code that needed to emit a DownloadSecureFile@1 step had to
hand-craft TaskStep::new("DownloadSecureFile@1", ...) with raw string input
keys. This PR introduces a typed builder struct (new(<required>) + typed
optional setters + into_step()) so the required secureFile input is
positional and optional inputs are type-checked, preventing silent key-name
mistakes.

Changes

  • src/compile/ir/tasks/download_secure_file.rs: new DownloadSecureFile
    builder struct and its #[cfg(test)] mod tests (4 unit tests)
  • src/compile/ir/tasks/mod.rs: pub mod download_secure_file; declaration
    (inserted alphabetically between download_pipeline_artifact and extract_files)

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 · 848.1 AIC · ⌖ 26.3 AIC · ⊞ 38.1K ·

Add DownloadSecureFile builder struct to src/compile/ir/tasks/download_secure_file.rs.
The builder exposes:
  - new(secure_file) — required secureFile input (name or GUID from ADO Secure Files library)
  - retry_count(value) — optional retryCount setter
  - socket_timeout(value) — optional socketTimeout setter
  - with_display_name(value) — displayName override
  - into_step() — lowers to TaskStep, emitting only set inputs

Four unit tests cover: required-only, all optionals, display name override, and GUID input.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@github-actions github-actions Bot mentioned this pull request Jun 23, 2026
@jamesadevine
jamesadevine marked this pull request as ready for review June 24, 2026 16:03
@jamesadevine
jamesadevine merged commit 3096eef into main Jun 24, 2026
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.

1 participant