Skip to content

feat(ir): add typed builder for PipAuthenticate@1#1142

Merged
jamesadevine merged 1 commit into
mainfrom
feat/ir-pip-authenticate-716e3b1439dba01b
Jun 22, 2026
Merged

feat(ir): add typed builder for PipAuthenticate@1#1142
jamesadevine merged 1 commit into
mainfrom
feat/ir-pip-authenticate-716e3b1439dba01b

Conversation

@github-actions

Copy link
Copy Markdown
Contributor

Summary

Adds a typed builder struct for PipAuthenticate@1 to the ado-aw IR, and migrates the Python runtime extension from a stringly-typed TaskStep::new(...) call to the new builder.

Motivation

Previously, the Python runtime extension emitted the pip authentication step by hand-crafting TaskStep::new("PipAuthenticate@1", ...).with_input("artifactFeeds", "") with raw string input keys. This PR introduces a typed builder struct (new() + typed optional setters + into_step()) so all inputs are type-checked, optional inputs are only emitted when explicitly set, and call sites stop using stringly-typed keys — consistent with the existing NuGetAuthenticate and CargoAuthenticate builders.

Changes

  • src/compile/ir/tasks/pip_authenticate.rs: new PipAuthenticate builder struct with typed optional setters for all five inputs (azureDevOpsServiceConnection, feedUrl, artifactFeeds, pythonDownloadServiceConnections, onlyAddExtraIndex) and a full #[cfg(test)] mod tests
  • src/compile/ir/tasks/mod.rs: pub mod pip_authenticate; declaration (alphabetical order)
  • src/runtimes/python/extension.rs: migrated pip_authenticate_task_step() from raw TaskStep::new(...) to PipAuthenticate::new().artifact_feeds("").with_display_name(...).into_step()

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 · 748 AIC · ⌖ 18 AIC · ⊞ 38K ·

Add a typed builder struct for `PipAuthenticate@1` to
`src/compile/ir/tasks/pip_authenticate.rs`, following the same pattern
as `NuGetAuthenticate` and `CargoAuthenticate`.

Also migrate `src/runtimes/python/extension.rs` from the stringly-typed
`TaskStep::new("PipAuthenticate@1", ...)` call to the new typed builder.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@jamesadevine jamesadevine marked this pull request as ready for review June 22, 2026 06:34
@jamesadevine jamesadevine merged commit 0ec314d into main Jun 22, 2026
@jamesadevine jamesadevine deleted the feat/ir-pip-authenticate-716e3b1439dba01b branch June 22, 2026 06:34
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