Add multi-language SDK: MCP auth, GenAI instrumentation, tests, examples #69
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: CI | |
| on: | |
| push: | |
| branches: [ main ] | |
| pull_request: | |
| branches: [ main ] | |
| permissions: | |
| contents: read | |
| jobs: | |
| java-build: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| java-version: [ 17, 21 ] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up JDK ${{ matrix.java-version }} | |
| uses: actions/setup-java@v4 | |
| with: | |
| java-version: ${{ matrix.java-version }} | |
| distribution: temurin | |
| cache: gradle | |
| - name: Grant execute permission for gradlew | |
| run: chmod +x gradlew | |
| - name: Build | |
| run: ./gradlew build | |
| - name: Upload test reports | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-reports-jdk${{ matrix.java-version }} | |
| path: '**/build/reports/tests/' | |
| retention-days: 7 | |
| go-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.24' | |
| cache-dependency-path: agenttel-go/go.sum | |
| - name: Run tests | |
| working-directory: agenttel-go | |
| run: go test -race -count=1 -timeout=120s ./... | |
| - name: Test GenAI Anthropic | |
| working-directory: agenttel-go/genai/anthropic | |
| run: go test -race -count=1 -timeout=60s ./... | |
| - name: Test GenAI OpenAI | |
| working-directory: agenttel-go/genai/openai | |
| run: go test -race -count=1 -timeout=60s ./... | |
| - name: Vet | |
| working-directory: agenttel-go | |
| run: go vet ./... | |
| node-test: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Set up Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| - name: Install shared types | |
| working-directory: agenttel-types | |
| run: npm ci | |
| - name: Typecheck shared types | |
| working-directory: agenttel-types | |
| run: npx tsc --noEmit | |
| - name: Install Node.js SDK | |
| working-directory: agenttel-node | |
| run: npm ci | |
| - name: Typecheck | |
| working-directory: agenttel-node | |
| run: npx tsc --noEmit | |
| - name: Run tests | |
| working-directory: agenttel-node | |
| run: npx vitest run | |
| python-test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| python-version: ['3.11', '3.12', '3.13'] | |
| 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 | |
| working-directory: agenttel-python | |
| run: pip install -e ".[dev]" | |
| - name: Lint | |
| working-directory: agenttel-python | |
| run: | | |
| pip install ruff | |
| ruff check src/ tests/ | |
| - name: Run tests | |
| working-directory: agenttel-python | |
| run: pytest -v | |
| attribute-parity: | |
| runs-on: ubuntu-latest | |
| needs: [go-test, node-test, python-test] | |
| continue-on-error: true | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install jq | |
| run: sudo apt-get install -y jq | |
| - name: Validate attribute parity | |
| run: bash scripts/validate-attributes.sh |