Skip to main content
Glama

WorkFlowy MCP Server

by daniel347x
ci.yml4.25 kB
name: CI/CD Pipeline on: push: branches: [ main, develop ] tags: [ 'v*' ] pull_request: branches: [ main ] jobs: lint: name: Lint Code runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip pip install black ruff mypy pip install -e . - name: Format check with Black run: black --check src/ tests/ - name: Lint with Ruff run: ruff check src/ tests/ - name: Type check with mypy run: mypy src/ test: name: Test Python ${{ matrix.python-version }} runs-on: ${{ matrix.os }} strategy: matrix: os: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.10', '3.11', '3.12'] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies run: | python -m pip install --upgrade pip pip install -e ".[dev]" - name: Run unit tests run: pytest tests/unit/ -xvs - name: Run contract tests run: pytest tests/contract/ -xvs - name: Run performance tests run: pytest tests/performance/ -xvs - name: Generate coverage report if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' run: | pytest --cov=workflowy_mcp --cov-report=xml --cov-report=term-missing - name: Upload coverage to Codecov if: matrix.os == 'ubuntu-latest' && matrix.python-version == '3.11' uses: codecov/codecov-action@v4 with: file: ./coverage.xml flags: unittests name: codecov-umbrella token: ${{ secrets.CODECOV_TOKEN }} integration-test: name: Integration Tests runs-on: ubuntu-latest if: github.event_name == 'push' && github.ref == 'refs/heads/main' steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install dependencies run: | python -m pip install --upgrade pip pip install -e ".[dev]" - name: Run integration tests env: WORKFLOWY_API_KEY: ${{ secrets.WORKFLOWY_API_KEY }} run: | if [ -n "$WORKFLOWY_API_KEY" ]; then pytest tests/integration/ -xvs else echo "Skipping integration tests (no API key configured)" fi build: name: Build Distribution runs-on: ubuntu-latest needs: [lint, test] steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Install build tools run: | python -m pip install --upgrade pip pip install build twine - name: Build package run: python -m build - name: Check package run: twine check dist/* - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: dist path: dist/ publish: name: Publish to PyPI runs-on: ubuntu-latest needs: [build] if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') steps: - uses: actions/checkout@v4 - name: Set up Python uses: actions/setup-python@v5 with: python-version: '3.11' - name: Download artifacts uses: actions/download-artifact@v4 with: name: dist path: dist/ - name: Publish to PyPI env: TWINE_USERNAME: __token__ TWINE_PASSWORD: ${{ secrets.PYPI_API_TOKEN }} run: | python -m pip install --upgrade pip pip install twine twine upload dist/*

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/daniel347x/workflowy-mcp-fixed'

If you have feedback or need assistance with the MCP directory API, please join our Discord server