Skip to content

feat(client): drop async from the Terraform implementation of a building block definition - #58

Closed
grubmeshi wants to merge 1 commit into
mainfrom
feature/terraform-drop-async
Closed

grubmeshi wants to merge 1 commit into
mainfrom
feature/terraform-drop-async

Conversation

@grubmeshi

@grubmeshi grubmeshi commented Oct 28, 2026 •

Copy link
Copy Markdown
Collaborator

🤖 Written by AI agent

Building block runner v2 always runs Terraform synchronously (meshcloud/building-block-runner#86, meshcloud/meshfed-release#11468), so the Terraform implementation has no use for async. GitHub workflows and Azure DevOps pipelines keep their own async.

This PR removes Async from the Terraform implementation of a building block definition. Today's meshStack reads a missing async as false, so clients without the field keep working. MeshRunnerTerraformImplementation.Async stays, because the runner reads it to warn about old definitions.

Related: meshcloud/terraform-provider-meshstack#362, meshcloud/meshstack-hub#406

🤖 Generated with Claude Code

…ing block definition

meshStack runs every Terraform implementation synchronously. It still accepts and returns the
field for now: a missing async reads as false, and the client ignores the returned one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@sonarqubecloud

Copy link
Copy Markdown

@meshcloud-gh-actions

Copy link
Copy Markdown

Coverage of the acceptance run against the meshStack backend, on 35d9c9f4b2eaee7b6e91d3183a85964471377759.

Scope Coverage
Unit tests 77.9%
Acceptance tests 54.5%
Combined 80.4%
Uncovered functions
client/api_key.go:55: meshApiKeyClient.Create 0.0%
client/api_key.go:59: meshApiKeyClient.Read 0.0%
client/api_key.go:63: meshApiKeyClient.Update 0.0%
client/api_key.go:71: meshApiKeyClient.Delete 0.0%
client/api_key_permissions.go:20: ApiKeyPermissions.AllCodes 0.0%
client/api_key_permissions.go:33: ApiKeyPermissions.WorkspaceCodes 0.0%
client/api_key_permissions.go:295: AllApiKeyPermissions 0.0%
client/api_key_permissions.go:299: WorkspacePermissionCodes 0.0%
client/building_block_definition.go:71: MeshBuildingBlockDefinitionApprovalPolicies.NothingRequiresApproval 0.0%
client/building_block_definition.go:82: DisabledSchedule 0.0%
client/building_block_definition.go:89: MeshBuildingBlockDefinitionSchedule.IsDisabled 0.0%
client/building_block_definition.go:93: MeshBuildingBlockDefinitionSpec.HasNeutralPolicies 0.0%
client/building_block_definition.go:97: MeshBuildingBlockDefinitionSpec.WithNeutralPolicies 0.0%
client/building_block_definition.go:166: meshBuildingBlockDefinitionClient.List 0.0%
client/building_block_definition.go:173: meshBuildingBlockDefinitionClient.Read 0.0%
client/building_block_definition.go:177: meshBuildingBlockDefinitionClient.Create 0.0%
client/building_block_definition.go:181: meshBuildingBlockDefinitionClient.Update 0.0%
client/building_block_definition.go:185: meshBuildingBlockDefinitionClient.Delete 0.0%
client/building_block_definition_version.go:100: MeshBuildingBlockType.TagInputTargets 0.0%
client/building_block_definition_version.go:245: meshBuildingBlockDefinitionVersionClient.Create 0.0%
client/building_block_definition_version.go:254: meshBuildingBlockDefinitionVersionClient.Update 0.0%
client/building_block_definition_version_implementation.go:79: MeshBuildingBlockDefinitionImplementation.InferType 0.0%
client/building_block_definition_version_implementation.go:93: MeshBuildingBlockDefinitionImplementation.MarshalJSON 0.0%
client/building_block_definition_version_implementation.go:106: *MeshBuildingBlockDefinitionImplementation.UnmarshalJSON 0.0%
client/building_block_runner.go:87: meshBuildingBlockRunnerClient.Create 0.0%
... and 129 more

covdata func names a method without its receiver, so an entry can belong to an implementation nothing selects rather than to a function the tests never reached. Open the file and line before reading one as a coverage gap.

@grubmeshi

Copy link
Copy Markdown
Collaborator Author

Merged into main by fast-forward as 675816f (rebased onto 88d041a, same patch).

@grubmeshi grubmeshi closed this Oct 28, 2026
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