Skip to content

feat(ir): add typed helper for ExtractFiles@1#1042

Merged
jamesadevine merged 1 commit into
mainfrom
feat/ir-extract-files-v1-4df3097856113c23
Jun 15, 2026
Merged

feat(ir): add typed helper for ExtractFiles@1#1042
jamesadevine merged 1 commit into
mainfrom
feat/ir-extract-files-v1-4df3097856113c23

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Summary

Adds a typed factory function extract_files_step() for ExtractFiles@1 to src/compile/ir/tasks.rs.

Motivation

Previously, any compiler code that needed to emit an ExtractFiles@1 pipeline step had to hand-craft TaskStep::new("ExtractFiles@1", ...) with raw string input keys. This PR introduces a well-typed helper that makes required inputs explicit at the call site and documents the optional inputs table inline.

Changes

  • src/compile/ir/tasks.rs: extract_files_step() factory function with full doc comment (required/optional inputs table, ADO task reference link)
  • 4 new unit tests:
    • extract_files_step_sets_task_and_required_inputs — verifies task ID, display name, and both required input keys
    • extract_files_step_accepts_optional_clean_and_overwrite — verifies cleanDestinationFolder and overwriteExistingFiles via .with_input(...)
    • extract_files_step_accepts_custom_seven_zip_path — verifies pathToSevenZipTool optional input
    • extract_files_step_multiline_patterns — verifies multi-pattern strings are passed through verbatim

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 · 504.8 AIC · ⌖ 30.4 AIC · ⊞ 36.1K ·

Adds `extract_files_step()` factory function to `src/compile/ir/tasks.rs`.

Required inputs are positional parameters (`archiveFilePatterns`,
`destinationFolder`); optional inputs (`cleanDestinationFolder`,
`overwriteExistingFiles`, `pathToSevenZipTool`) are applied via
`.with_input(…)` on the returned `TaskStep`.

Four unit tests cover: required-input defaults, optional clean/overwrite
flags, custom 7z path, and multiline archive patterns.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesadevine jamesadevine marked this pull request as ready for review June 15, 2026 21:37
@jamesadevine jamesadevine merged commit 33284df into main Jun 15, 2026
@jamesadevine jamesadevine deleted the feat/ir-extract-files-v1-4df3097856113c23 branch June 15, 2026 21:37
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