Skip to content

feat: propagate actions dependencies - #4372

Merged
ericsciple merged 5 commits into
actions:mainfrom
nodeselector:ns/propagate-dependencies-to-resolve
Apr 23, 2026
Merged

feat: propagate actions dependencies#4372
ericsciple merged 5 commits into
actions:mainfrom
nodeselector:ns/propagate-dependencies-to-resolve

Conversation

@nodeselector

@nodeselectornodeselector commented Apr 22, 2026

Copy link
Copy Markdown
Contributor

Propagate the actions dependencies into the actions resolution call.

We technically don't need to recurse in order to resolve all the actions dependencies with a well-formed pinned job and could reduce the round trips for resolution. I will leave this to another PR.

ref https://github.com/github/actions-dispatch/issues/559

ericsciple
ericsciple previously approved these changes Apr 22, 2026
ericsciple
ericsciple previously approved these changes Apr 22, 2026
@nodeselector
nodeselector marked this pull request as ready for review April 22, 2026 21:18
CopilotAI review requested due to automatic review settings April 22, 2026 21:18
@nodeselector
nodeselector requested a review from a team as a code ownerApril 22, 2026 21:18

CopilotAI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds end-to-end plumbing for workflow-level action dependency pins (“lockfile entries”) so they can be forwarded into the Launch action-resolution request.

Changes:

  • Introduce dependencies on AgentJobRequestMessage and surface it via ExecutionContext.Global.
  • Extend action-resolution request contracts to include actions_dependencies, and pass dependencies to Launch resolution calls.
  • Add L0 tests validating AgentJobRequestMessage deserialization of dependencies.
Show a summary per file
FileDescription
src/Runner.Worker/ActionManager.csForwards workflow dependencies into the Launch action resolution request.
src/Runner.Worker/ExecutionContext.csCopies workflow dependencies from the job message into GlobalContext.
src/Runner.Worker/GlobalContext.csAdds a place to store workflow-level action dependencies for the job.
src/Sdk/DTPipelines/Pipelines/AgentJobRequestMessage.csAdds serialized dependencies field with lazy-initialized public accessor.
src/Sdk/DTWebApi/WebApi/ActionReferenceList.csAdds Dependencies to the action reference list model.
src/Sdk/WebApi/WebApi/LaunchContracts.csAdds actions_dependencies to the Launch request payload contract.
src/Sdk/WebApi/WebApi/LaunchHttpClient.csMaps ActionReferenceList.Dependencies into Launch’s actions_dependencies field.
src/Test/L0/Sdk/RSWebApi/AgentJobRequestMessageL0.csAdds L0 tests for dependencies deserialization behavior.
src/Test/L0/Worker/ActionManagerL0.csMinor test setup adjustment (dictionary initialization).

Copilot's findings

  • Files reviewed: 9/9 changed files
  • Comments generated: 2

Comment threadsrc/Test/L0/Worker/ActionManagerL0.cs Outdated
Comment threadsrc/Runner.Worker/ActionManager.cs
@ericsciple
ericsciple enabled auto-merge (squash) April 23, 2026 16:27
@ericsciple
ericsciple merged commit b06c585 into actions:mainApr 23, 2026
10 checks passed
Sign up for freeto 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.

3 participants

@nodeselector@ericsciple