test(e2e): workflow example 8 — cloud infrastructure management (supervised profile) #794

Closed
freemo wants to merge 1 commits from test/e2e-wf08-cloud-infra into master

1 Commits

Author SHA1 Message Date
freemo fb4d343245 test(e2e): workflow example 8 — cloud infrastructure management (supervised profile)
CI / build (pull_request) Successful in 30s
CI / lint (pull_request) Successful in 4m1s
CI / quality (pull_request) Successful in 4m37s
CI / typecheck (pull_request) Successful in 4m48s
CI / security (pull_request) Successful in 4m49s
CI / integration_tests (pull_request) Successful in 9m37s
CI / unit_tests (pull_request) Successful in 10m7s
CI / docker (pull_request) Successful in 1m24s
CI / coverage (pull_request) Successful in 11m27s
CI / status-check (pull_request) Successful in 1s
CI / e2e_tests (pull_request) Successful in 16m22s
CI / benchmark-publish (pull_request) Has been skipped
CI / benchmark-regression (pull_request) Successful in 1h10m15s
E2E Robot Framework test for WF8: Cloud Infrastructure Management.

Scenario: Terraform infrastructure analysis using the supervised
automation profile.  Creates a temp repo with Terraform config files
(main.tf, variables.tf, outputs.tf), registers a custom
local/terraform-state resource type (copy_on_write sandbox), creates
a local/terraform-ops skill with 3 custom tool references
(local/terraform_plan, local/terraform_show, local/cloud_metrics)
and skill composition (includes: local/file-ops), creates an
infrastructure-analysis action with invariants, registers both a
git-checkout resource and a custom terraform-state resource instance,
creates a project linking both resources, and drives the full plan
lifecycle (plan use -> execute strategize -> execute -> diff ->
apply --yes).

Plan ID extraction uses --format json with Safe Parse Json Field
for reliable ULID-based ID parsing.  All LLM-dependent commands use
expected_rc=None with post-hoc rc checks and negative assertions
(Should Not Contain Traceback).  Flexible assertions verify that
infrastructure-related analysis output is produced, requiring at
least 2 domain-specific keyword matches.

The test gracefully skips when no LLM API keys are available
(Skip If No LLM Keys) and uses a unique suffix on all resource and
project names for parallel CI safety.

ISSUES CLOSED: #754
2026-03-27 10:48:08 +00:00