Skip to content

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

Draft
github-actions[bot] wants to merge 1 commit into
mainfrom
feat/ir-download-secure-file-fa5a3825aea1a3ae
Draft

feat(ir): add typed builder for DownloadSecureFile@1#1174
github-actions[bot] wants to merge 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>
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.

0 participants