Skip to content

feat: add ACI IaCProviderRunner#36

Merged
intel352 merged 2 commits into
mainfrom
issue-840-iac-provider-runner
Jun 3, 2026
Merged

feat: add ACI IaCProviderRunner#36
intel352 merged 2 commits into
mainfrom
issue-840-iac-provider-runner

Conversation

@intel352
Copy link
Copy Markdown
Contributor

@intel352 intel352 commented Jun 3, 2026

Implements the optional IaCProviderRunner service for Azure using Container Instances.\n\n- registers provider-owned runner service in the typed IaC server\n- launches one-off ACI container groups from portable JobSpec image/command/env\n- maps ACI container state to provider-neutral JobState\n- streams ACI container logs through JobLogs\n- advertises workflow.plugin.external.iac.IaCProviderRunner and requires workflow v0.73.0\n\nVerification:\n- GOWORK=off go test ./...\n\nRefs GoCodeAlone/workflow#840

Copilot AI review requested due to automatic review settings June 3, 2026 08:04
Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Adds support for the optional IaCProviderRunner contract to the Azure plugin by running portable JobSpec jobs as one-off Azure Container Instances (ACI) container groups, and bumps the required workflow engine version to support the new typed service.

Changes:

  • Implement IaCProviderRunner in AzureProvider (run job, map status, fetch logs) backed by ACI container groups.
  • Expose the new runner service via the typed gRPC server and ensure it auto-registers with the SDK.
  • Update plugin manifests and dependencies to require workflow v0.73.0 (and related indirect bumps).

Reviewed changes

Copilot reviewed 9 out of 10 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
plugin.json Bumps minEngineVersion and advertises IaCProviderRunner in iacServices.
cmd/workflow-plugin-azure/plugin.json Keeps embedded manifest in sync (engine version + runner service).
internal/provider.go Initializes ACI clients and wires runnerClient into AzureProvider.
internal/runner.go Core ACI job execution, status mapping, and log retrieval implementation.
internal/runner_server.go Typed gRPC service methods + PB↔︎interfaces conversions for runner RPCs.
internal/runner_test.go Unit tests for container group creation, status/log mapping, and service registration.
internal/iacserver.go Adds runner service embed/guard so SDK auto-registration succeeds.
internal/iacserver_mapper_test.go Updates manifest test expectation for minEngineVersion.
go.mod Bumps workflow dependency to v0.73.0 (and indirect deps).
go.sum Updates sums for the dependency bumps.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread internal/runner.go
@intel352 intel352 merged commit 84fb088 into main Jun 3, 2026
5 checks passed
@intel352 intel352 deleted the issue-840-iac-provider-runner branch June 3, 2026 08:16
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.

2 participants