feat(financial-services): enrich EU corporate credit demo to gold sta… #16
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Smoke | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| FORCE_JAVASCRIPT_ACTIONS_TO_NODE24: "true" | |
| # cmcp CLI prints unicode glyphs; force UTF-8 so it is safe on any runner locale. | |
| PYTHONUTF8: "1" | |
| jobs: | |
| smoke: | |
| name: smoke (${{ matrix.name }}) | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - name: startup-tpm | |
| dir: startup-tpm | |
| config: cmcp-config.yaml | |
| agent: agent/echo_agent.py | |
| args: "" | |
| - name: financial-services | |
| dir: financial-services | |
| config: cmcp-config.yaml | |
| agent: agent/credit_risk_agent.py | |
| args: "" | |
| - name: healthcare | |
| dir: healthcare | |
| config: cmcp-config.yaml | |
| agent: agent/clinical_decision_agent.py | |
| args: "" | |
| - name: multi-tenant-acme-corp | |
| dir: multi-tenant-saas | |
| config: cmcp-config-acme-corp.yaml | |
| agent: agent/saas_agent.py | |
| args: "--tenant acme-corp" | |
| - name: multi-tenant-globex-financial | |
| dir: multi-tenant-saas | |
| config: cmcp-config-globex-financial.yaml | |
| agent: agent/saas_agent.py | |
| args: "--tenant globex-financial" | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - name: Set up Python 3.11 | |
| uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| - name: Install dependencies | |
| run: pip install cmcp-runtime httpx | |
| - name: Start mock MCP server | |
| run: python ${{ matrix.dir }}/server/mock_mcp_server.py & | |
| - name: Start cMCP gateway | |
| working-directory: ${{ matrix.dir }} | |
| env: | |
| CMCP_DEV_MODE: "1" | |
| run: cmcp start --config ${{ matrix.config }} & | |
| - name: Wait for gateway | |
| run: | | |
| for i in $(seq 1 20); do | |
| if curl -sf http://localhost:8443/health > /dev/null 2>&1; then | |
| echo "Gateway ready" | |
| exit 0 | |
| fi | |
| echo "Waiting ($i)..." | |
| sleep 2 | |
| done | |
| echo "Gateway did not become ready in time" >&2 | |
| exit 1 | |
| - name: Run agent | |
| run: python ${{ matrix.dir }}/${{ matrix.agent }} ${{ matrix.args }} |