Skip to content

feat(client): find the default building block runner - #80

Open
grubmeshi wants to merge 1 commit into
mainfrom
feat/default-runner-api
Open

grubmeshi wants to merge 1 commit into
mainfrom
feat/default-runner-api

Conversation

@grubmeshi

Copy link
Copy Markdown
Collaborator

This brings back #78. It was merged before its counterparts and then reverted on main, because the meshfed-release CI builds the Terraform provider against meshstack-cli main, and the provider on main does not know status.is_default yet. The branch has the same name as its counterparts again, so the meshfed-release CI tests the three changes together.

Merge together with

The meshObject API now says which building block runner is the default of a meshStack. The client could not read this and could not filter the runner list for it, so a caller had to hardcode the UUID of a runner.

The runner status now has IsDefault, and the runner list filter has IsDefault. status.IsDefault is nil on a meshStack that does not send the field, so a caller can tell "not default" from "not reported".

🤖 Generated with Claude Code

meshStack reports which runner is its default in status.isDefault and filters the runner list by isDefault.
@sonarqubecloud

Copy link
Copy Markdown

@meshcloud-gh-actions

Copy link
Copy Markdown

Coverage of the acceptance run against the meshStack backend, on f13e1465be5c45bb33d37e4f3311345510600547.

Scope Coverage
Unit tests 78.4%
Acceptance tests 54.9%
Combined 80.9%
Uncovered functions
client/api_key.go:52: meshApiKeyClient.Create 0.0%
client/api_key.go:56: meshApiKeyClient.Read 0.0%
client/api_key.go:60: meshApiKeyClient.Update 0.0%
client/api_key.go:64: 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:262: AllApiKeyPermissions 0.0%
client/api_key_permissions.go:266: 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:101: 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:81: MeshBuildingBlockDefinitionImplementation.InferType 0.0%
client/building_block_definition_version_implementation.go:95: MeshBuildingBlockDefinitionImplementation.MarshalJSONTo 0.0%
client/building_block_definition_version_implementation.go:108: *MeshBuildingBlockDefinitionImplementation.UnmarshalJSONFrom 0.0%
client/building_block_runner.go:96: meshBuildingBlockRunnerClient.Create 0.0%
... and 127 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.

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