Skip to content

feat: allow to manage display_order value for building block definiti…#218

Draft
j0g3sc wants to merge 2 commits into
mainfrom
feature/building-block-definition-IO-order
Draft

feat: allow to manage display_order value for building block definiti…#218
j0g3sc wants to merge 2 commits into
mainfrom
feature/building-block-definition-IO-order

Conversation

@j0g3sc

@j0g3sc j0g3sc commented Jul 3, 2026

Copy link
Copy Markdown
Collaborator

…on I/O without affecting the calculated hash for change detection

CU-86cabn76y


Summary

Added a manageable display_order field to building block definition version inputs and outputs.

Implementation:

Client
DisplayOrder int64 with json:"displayOrder,omitempty" on both MeshBuildingBlockDefinitionInput and MeshBuildingBlockDefinitionOutput.

Schema
display_order Int64Attribute on inputs and outputs, Optional + Computed + Default(0) — the Default is what keeps re-plans clean given the backend returns 0 when unset.

Content hash
stripped to 0 before hashing, so reordering never changes content_hash or forces a new version

Released immutability
displayOrdersDiffer guard in Update — needed because display_order is outside the hash, so this restores the "released versions are immutable" behavior with a clear error.

Mock
mirrors input→output display_order for manual BBDs.


⚠️ depends on meshfed-api released with https://github.com/meshcloud/meshfed-release/pull/10263

@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

📊 Test Coverage

Scope Coverage
Unit tests (mock client) 74.9%
Combined (unit + acceptance) 80.5% — ❌ acceptance failed

Acceptance tests failed (advisory — the job runs against the last merged meshfed-release backend, so a change needing a companion backend PR fails here until that backend merges; the real gate is meshfed-release's terraform-provider-acceptance job).

Uncovered functions (combined run)
github.com/meshcloud/terraform-provider-meshstack/client/api_key_permissions.go:225:							AllApiKeyPermissions				0.0%
github.com/meshcloud/terraform-provider-meshstack/client/buildingblock.go:97:								Delete						0.0%
github.com/meshcloud/terraform-provider-meshstack/client/client.go:48:									NewApiTokenAuthorization			0.0%
github.com/meshcloud/terraform-provider-meshstack/client/internal/logging.go:27:							Debug						0.0%
github.com/meshcloud/terraform-provider-meshstack/client/internal/logging.go:31:							Info						0.0%
github.com/meshcloud/terraform-provider-meshstack/client/internal/logging.go:35:							Warn						0.0%
github.com/meshcloud/terraform-provider-meshstack/client/internal/retry.go:225:								Close						0.0%
github.com/meshcloud/terraform-provider-meshstack/client/internal/retry.go:246:								Write						0.0%
github.com/meshcloud/terraform-provider-meshstack/client/project_group_binding.go:27:							Read						0.0%
github.com/meshcloud/terraform-provider-meshstack/client/project_group_binding.go:31:							Create						0.0%

Combined with go tool covdata merge over the unit and acceptance coverage data. The acceptance suite runs ./internal/provider against the live backend; coverage is attributed across all packages (-coverpkg=./...).

…on I/O without affecting the calculated hash for change detection

CU-86cabn76y
@j0g3sc j0g3sc force-pushed the feature/building-block-definition-IO-order branch from 5321918 to 49e6c12 Compare July 3, 2026 19:41
@github-actions

github-actions Bot commented Jul 3, 2026

Copy link
Copy Markdown

⚠️ Acceptance tests failed on the latest run. This is advisory and does not block merge — the job runs against the last merged meshfed-release backend images. If this change needs a companion backend change, validate the pair via meshfed-release's terraform-provider-acceptance job; otherwise this is a regression to fix.

🔗 View the failing acceptance job

@j0g3sc j0g3sc requested a review from grubmeshi July 3, 2026 19:48
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