Skip to content

feat: add deployable public read-only MCP #41

feat: add deployable public read-only MCP

feat: add deployable public read-only MCP #41

Workflow file for this run

name: CI
on:
push:
branches: [master, main]
pull_request:
branches: [master, main]
jobs:
verification:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: '3.12'
cache: 'pip'
- uses: actions/setup-node@v4
with:
node-version: '20.19.0'
cache: 'npm'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install -r requirements.txt
pip install -e .
pip install pytest
- name: Pytest
run: python -m pytest -q
- name: Compile package
run: python -m compileall -q src/openalphastack
- name: Install Dashboard dependencies
run: npm ci
- name: Test Dashboard
run: npm run dashboard:test
- name: Build Dashboard
run: npm run dashboard:build
- name: Audit high severity npm dependencies
run: npm audit --audit-level=high
- name: Unified CLI help
run: openalphastack --help
- name: Engine CLI help
run: openalphastack engine start --help
- name: Quote CLI help
run: openalphastack tools quote --help
- name: Tool schema check
run: |
for tool in quote technical fundamental flow news screen backtest trend signal_detector pivot fibonacci sentiment portfolio risk signal signal_rules; do
echo "Checking openalphastack tools $tool schema..."
openalphastack tools "$tool" --help > /dev/null 2>&1 || {
echo "ERROR: openalphastack tools $tool --help failed"
exit 1
}
done
echo "All package tools pass schema check"
- name: Signal rules baseline check
run: |
echo "Running signal_rules --list..."
openalphastack tools signal_rules --list
echo "Baseline check OK"
- name: Risk calculator help
run: |
openalphastack tools risk --help
- name: Signal validator help
run: |
openalphastack tools signal --help
public-mcp-container:
runs-on: ubuntu-latest
timeout-minutes: 15
steps:
- uses: actions/checkout@v4
- uses: docker/setup-buildx-action@v3
- name: Build standalone public MCP image
uses: docker/build-push-action@v6
with:
context: .
file: Dockerfile.public
push: false
tags: openalphastack-public-mcp:ci
cache-from: type=gha,scope=public-mcp
cache-to: type=gha,mode=max,scope=public-mcp