2626 cockpit : ${{ steps.scope.outputs.cockpit }}
2727 cockpit_examples : ${{ steps.scope.outputs.cockpit_examples }}
2828 cockpit_smoke : ${{ steps.scope.outputs.cockpit_smoke }}
29- cockpit_secret : ${{ steps.scope.outputs.cockpit_secret }}
3029 cockpit_deploy_smoke : ${{ steps.scope.outputs.cockpit_deploy_smoke }}
3130 examples_chat : ${{ steps.scope.outputs.examples_chat }}
3231 cockpit_e2e : ${{ steps.scope.outputs.cockpit_e2e }}
8382 if : github.event_name == 'push' || needs.ci-scope.outputs.library == 'true'
8483 runs-on : ubuntu-latest
8584 env :
86- LIBS : chat,langgraph,ag-ui,render,a2ui,licensing,telemetry
85+ LIBS : chat,langgraph,ag-ui,render,a2ui,licensing,signal-resource, telemetry
8786 steps :
8887 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
8988 - uses : actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
@@ -198,37 +197,6 @@ jobs:
198197 - run : npm ci
199198 - run : npx nx run-many -t smoke --projects=cockpit-ag-ui-interrupts-python,cockpit-ag-ui-streaming-python,cockpit-deep-agents-planning-python,cockpit-deep-agents-filesystem-python,cockpit-deep-agents-subagents-python,cockpit-deep-agents-memory-python,cockpit-deep-agents-skills-python,cockpit-deep-agents-sandboxes-python,cockpit-langgraph-persistence-python,cockpit-langgraph-durable-execution-python,cockpit-langgraph-streaming-python,cockpit-langgraph-interrupts-python,cockpit-langgraph-memory-python,cockpit-langgraph-subgraphs-python,cockpit-langgraph-time-travel-python,cockpit-langgraph-deployment-runtime-python,cockpit-chat-messages-python,cockpit-render-spec-rendering-python --skip-nx-cache
200199
201- cockpit-secret-integration :
202- name : Cockpit — secret-gated integration
203- needs : ci-scope
204- if : github.event_name == 'push' || needs.ci-scope.outputs.cockpit_secret == 'true'
205- runs-on : ubuntu-latest
206- steps :
207- - name : Check integration secret
208- id : integration_secret
209- run : |
210- if [ -z "${COCKPIT_SECRET_TOKEN}" ]; then
211- echo "enabled=false" >> "$GITHUB_OUTPUT"
212- echo "::notice::Skipping secret-gated integration: COCKPIT_SECRET_TOKEN is not configured"
213- else
214- echo "enabled=true" >> "$GITHUB_OUTPUT"
215- fi
216- env :
217- COCKPIT_SECRET_TOKEN : ${{ secrets.COCKPIT_SECRET_TOKEN }}
218- - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
219- if : steps.integration_secret.outputs.enabled == 'true'
220- - uses : actions/setup-node@53b83947a5a98c8d113130e565377fae1a50d02f # v6.3.0
221- if : steps.integration_secret.outputs.enabled == 'true'
222- with :
223- node-version : 22
224- cache : npm
225- - if : steps.integration_secret.outputs.enabled == 'true'
226- run : npm ci
227- - if : steps.integration_secret.outputs.enabled == 'true'
228- run : npx nx run cockpit-langgraph-deployment-runtime-python:integration --skip-nx-cache
229- env :
230- COCKPIT_SECRET_TOKEN : ${{ secrets.COCKPIT_SECRET_TOKEN }}
231-
232200 cockpit-deploy-smoke :
233201 name : Cockpit — deploy smoke dry-run
234202 timeout-minutes : 30 # fail fast instead of blocking the main concurrency group on a hang
@@ -505,7 +473,6 @@ jobs:
505473 - cockpit
506474 - cockpit-examples-build
507475 - cockpit-smoke
508- - cockpit-secret-integration
509476 - cockpit-deploy-smoke
510477 - examples-chat-smoke
511478 - examples-chat-e2e
@@ -523,7 +490,6 @@ jobs:
523490 RESULT_COCKPIT : ${{ needs.cockpit.result }}
524491 RESULT_COCKPIT_EXAMPLES : ${{ needs.cockpit-examples-build.result }}
525492 RESULT_COCKPIT_SMOKE : ${{ needs.cockpit-smoke.result }}
526- RESULT_COCKPIT_SECRET : ${{ needs.cockpit-secret-integration.result }}
527493 RESULT_COCKPIT_DEPLOY_SMOKE : ${{ needs.cockpit-deploy-smoke.result }}
528494 RESULT_EXAMPLES_CHAT_SMOKE : ${{ needs.examples-chat-smoke.result }}
529495 RESULT_EXAMPLES_CHAT_E2E : ${{ needs.examples-chat-e2e.result }}
@@ -535,7 +501,6 @@ jobs:
535501 SCOPE_COCKPIT : ${{ needs.ci-scope.outputs.cockpit }}
536502 SCOPE_COCKPIT_EXAMPLES : ${{ needs.ci-scope.outputs.cockpit_examples }}
537503 SCOPE_COCKPIT_SMOKE : ${{ needs.ci-scope.outputs.cockpit_smoke }}
538- SCOPE_COCKPIT_SECRET : ${{ needs.ci-scope.outputs.cockpit_secret }}
539504 SCOPE_COCKPIT_DEPLOY_SMOKE : ${{ needs.ci-scope.outputs.cockpit_deploy_smoke }}
540505 SCOPE_EXAMPLES_CHAT : ${{ needs.ci-scope.outputs.examples_chat }}
541506 SCOPE_COCKPIT_E2E : ${{ needs.ci-scope.outputs.cockpit_e2e }}
@@ -582,7 +547,6 @@ jobs:
582547 require_scoped "cockpit" "Cockpit — build / test" "$RESULT_COCKPIT" "$SCOPE_COCKPIT"
583548 require_scoped "cockpit_examples" "Cockpit — build all examples" "$RESULT_COCKPIT_EXAMPLES" "$SCOPE_COCKPIT_EXAMPLES"
584549 require_scoped "cockpit_smoke" "Cockpit — representative capability smoke" "$RESULT_COCKPIT_SMOKE" "$SCOPE_COCKPIT_SMOKE"
585- require_scoped "cockpit_secret" "Cockpit — secret-gated integration" "$RESULT_COCKPIT_SECRET" "$SCOPE_COCKPIT_SECRET"
586550 require_scoped "cockpit_deploy_smoke" "Cockpit — deploy smoke dry-run" "$RESULT_COCKPIT_DEPLOY_SMOKE" "$SCOPE_COCKPIT_DEPLOY_SMOKE"
587551 require_scoped "examples_chat" "examples/chat — python smoke" "$RESULT_EXAMPLES_CHAT_SMOKE" "$SCOPE_EXAMPLES_CHAT"
588552 require_scoped "examples_chat" "examples/chat — e2e" "$RESULT_EXAMPLES_CHAT_E2E" "$SCOPE_EXAMPLES_CHAT"
@@ -606,7 +570,6 @@ jobs:
606570 cockpit,
607571 cockpit-examples-build,
608572 cockpit-smoke,
609- cockpit-secret-integration,
610573 cockpit-deploy-smoke,
611574 examples-chat-smoke,
612575 examples-chat-e2e,
@@ -809,6 +772,14 @@ jobs:
809772 cache : npm
810773 - run : npm ci
811774 - name : Build and assemble canonical demo
775+ env :
776+ # Baked into the SPA bundle by inject-env at build time (assemble-demo.ts
777+ # runs `nx build examples-chat-angular`, whose build target dependsOn
778+ # inject-env). Without the key the App-mode map toggle is disabled in
779+ # prod. The key ships in the public bundle (normal for Maps JS) — restrict
780+ # it by HTTP referrer in the Google Cloud console. The Map ID is not a secret.
781+ GOOGLE_MAPS_API_KEY : ${{ secrets.GOOGLE_MAPS_API_KEY }}
782+ GOOGLE_MAPS_MAP_ID : 86d464ea7d5306034fe2a254
812783 run : npx tsx scripts/assemble-demo.ts
813784 - name : Deploy canonical demo to Vercel (production)
814785 working-directory : deploy/demo
0 commit comments