From 362f4d6f63f3c922f48d766325be87ebf95ec3be Mon Sep 17 00:00:00 2001 From: Phil Bellanti Date: Wed, 24 Jun 2026 15:21:38 -0400 Subject: [PATCH] ci: generate scripts/output stubs before npm test The apphubToEntry test suite requires product_types.json and categories.json in scripts/output/, which are normally fetched from Contentstack and gitignored. Add a step that writes minimal stub files with placeholder UIDs so all 31 tests pass in CI without needing live credentials. Co-authored-by: Cursor --- .github/workflows/unit-tests-and-workflow-lint.yml | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/.github/workflows/unit-tests-and-workflow-lint.yml b/.github/workflows/unit-tests-and-workflow-lint.yml index bc5f504..3d184b0 100644 --- a/.github/workflows/unit-tests-and-workflow-lint.yml +++ b/.github/workflows/unit-tests-and-workflow-lint.yml @@ -24,6 +24,14 @@ jobs: - name: Install dependencies run: npm ci + - name: Generate test stubs for scripts/output + run: | + mkdir -p scripts/output + echo '[{"title":"Webex Meetings","uid":"blt_meetings_stub"},{"title":"Webex Contact Center","uid":"blt_contact_center_stub"},{"title":"Webex Calling","uid":"blt_calling_stub"},{"title":"Webex Teams","uid":"blt_teams_stub"},{"title":"Webex Rooms","uid":"blt_rooms_stub"}]' \ + > scripts/output/product_types.json + echo '[{"slug":"developer-tools","uid":"blt_developer_tools_stub"},{"slug":"self-service-bots","uid":"blt_self_service_bots_stub"},{"slug":"customer-support","uid":"blt_customer_support_stub"},{"slug":"analytics","uid":"blt_analytics_stub"},{"slug":"workflow-automation","uid":"blt_workflow_automation_stub"},{"slug":"ai-agent-testing-observability","uid":"blt_ai_agent_stub"},{"slug":"agent-supervisor-tools","uid":"blt_agent_supervisor_stub"},{"slug":"healthcare","uid":"blt_healthcare_stub"},{"slug":"financial-services","uid":"blt_financial_services_stub"},{"slug":"retail-ecommerce","uid":"blt_retail_stub"}]' \ + > scripts/output/categories.json + - name: Run tests run: npm test