Skip to content

refactor(meshstack/noop): take runner fixtures from test_context - #288

Draft
JohannesRudolph wants to merge 2 commits into
mainfrom
claude/meshstack-smoke-test-pr49-31ccac
Draft

refactor(meshstack/noop): take runner fixtures from test_context#288
JohannesRudolph wants to merge 2 commits into
mainfrom
claude/meshstack-smoke-test-pr49-31ccac

Conversation

@JohannesRudolph

Copy link
Copy Markdown
Member

The meshstack/noop runner e2e module read its GCP project and the meshStack endpoint from
TF_VAR_* in the environment. Both are environment facts the smoke-test harness already carries in
test_context, and keeping them as env vars meant each one was wired in two harness files that
nothing checked — which is how this test broke silently once already.

Both now come from test_context, and the e2e-test skill records the rule: an e2e/ module never
reads a fixture from the environment; only secrets do, because GitHub masks values one by one.

Ordering

Merge this before the matching harness PR, which removes TF_VAR_gcp_project_id and
TF_VAR_meshstack_endpoint from the workflow. The harness already publishes
test_context.fixtures.gcp.project_id; test_context.meshstack_endpoint lands with that PR, so
until it merges the meshstack/noop case will report the field as missing.

Verification

tofu validate on the runner module. The e2e run itself needs the harness PR (for
meshstack_endpoint), so it is verified there by a single-module dispatch.

🤖 Generated with Claude Code

@github-actions

github-actions Bot commented Aug 24, 2026

Copy link
Copy Markdown
Contributor

Scorecard Check

Scorecard run on commit 64e4993c9adae77244356ea72a4b51c780e7d218 relative to origin/main

📊 meshstack-hub Module Scorecard

Generated: 2026-08-24 | Modules scanned: 1 | Categories: 6

📋 Per-Module Category Summary

Score per category per building block. n/a = category does not apply to this module.

Module Overall Core Structure Integration Azure Backplane GCP Backplane STACKIT Backplane Testing
meshstack/noop 🟢 96% 🟢 83% 🟢 100% n/a n/a n/a 🟢 100%

⚠️ 1 module has failing checks — failing categories are expanded below.

Core Structure — some checks failing

Basic module file structure and documentation — applies to 1 modules

Module Score 📦 🔗 📋 📝 🖼️ 📌 🔒
meshstack/noop 🟢 83%

Core Structure — Summary

Emoji Criterion Coverage Status
📦 buildingblock/ directory exists 1/1 🟢 100%
🔗 meshstack_integration.tf present 1/1 🟢 100%
📋 buildingblock/APP_TEAM_README.md present (no-integration fallback) n/a
📝 buildingblock/README.md with YAML front-matter 1/1 🟢 100%
🖼️ buildingblock/logo.png included 1/1 🟢 100%
📌 buildingblock/versions.tf present 1/1 🟢 100%
🔒 Provider versions use minimum constraint (>=) 0/1 🔴 0%
Integration — ✅ all passing

meshstack_integration.tf conventions — applies to 1 modules

Module Score 🏷️ 🏢 📤 🔌 📎 🔀 🌱 📋 🏷️ 🧱 📖 📝 📊 🚫 🔄
meshstack/noop 🟢 100%

Integration — Summary

Emoji Criterion Coverage Status
🏷️ variable "hub" in integration 1/1 🟢 100%
🏢 variable "meshstack" in integration 1/1 🟢 100%
📤 building_block_definition output exposed 1/1 🟢 100%
🔌 meshcloud/meshstack in required_providers 1/1 🟢 100%
📎 backplane source uses var.hub.git_ref 1/1 🟢 100%
🔀 ref_name uses var.hub.git_ref 1/1 🟢 100%
🌱 BBD terraform_version >= 1.12.0 1/1 🟢 100%
📋 version_spec.draft uses var.hub.bbd_draft 1/1 🟢 100%
🏷️ BBD metadata.tags forwards var.meshstack.tags 1/1 🟢 100%
🧱 BBD input argument vars with optional() have explicit defaults 1/1 🟢 100%
📖 BBD readme field present 1/1 🟢 100%
📝 BBD readme starts with plain-text description (no heading) 1/1 🟢 100%
📊 BBD readme has shared responsibility table (✅/❌) 1/1 🟢 100%
🚫 No documentation_md output in backplane 1/1 🟢 100%
🔄 meshstack_platform has lifecycle ignore_changes = [availability] n/a
Azure Backplane — not applicable

Azure UAMI-based automation principal conventions — applies to 0 modules

No applicable modules.

GCP Backplane — not applicable

GCP workload-identity-federation automation principal conventions — applies to 0 modules

No applicable modules.

STACKIT Backplane — not applicable

STACKIT WIF-based automation principal conventions — applies to 0 modules

No applicable modules.

Testing — ✅ all passing

End-to-end test coverage — applies to 1 modules

Module Score ⚙️ 🧪 🚫
meshstack/noop 🟢 100%

Testing — Summary

Emoji Criterion Coverage Status
⚙️ backplane/ directory (optional tier) 1/1 🟢 100%
🧪 e2e/ test directory exists 1/1 🟢 100%
🚫 no .tftest.hcl outside e2e/ 1/1 🟢 100%
e2e/ contains .tftest.hcl files 1/1 🟢 100%

JohannesRudolph and others added 2 commits August 24, 2026 22:03
The runner e2e module read its GCP project and the meshStack endpoint from
`TF_VAR_*` in the environment, which the smoke-test harness had to keep wired
in two files. That is how the module broke silently when one of the two lines
was removed.

Both values are environment facts the harness already carries in
`test_context`, so read them from there. An e2e module should never take a
fixture from the environment that `test_context` can hold.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Records the rule the runner change follows, and why: a `TF_VAR_` fixture has
to be wired on the harness side too, so it has a second place to go missing.
Secrets stay the exception, since GitHub can only mask values one by one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@JohannesRudolph
JohannesRudolph force-pushed the claude/meshstack-smoke-test-pr49-31ccac branch from 428de2f to 3653c03 Compare August 24, 2026 20:03
@aws-amplify-eu-central-1

Copy link
Copy Markdown

This pull request is automatically being deployed by Amplify Hosting (learn more).

Access this pull request here: https://pr-288.d1o16zfeoh2slu.amplifyapp.com

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