feat(llmobs): support manual agent versioning #26146
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: LLMObs | |
| on: | |
| pull_request: | |
| push: | |
| branches: [master, mq-working-branch-master-*] | |
| schedule: | |
| - cron: 0 4 * * * | |
| workflow_dispatch: | |
| inputs: | |
| latest-version: | |
| description: "Node version to use" | |
| required: false | |
| type: string | |
| concurrency: | |
| group: ${{ github.workflow }}-${{ inputs.latest-version }}-${{ github.ref == 'refs/heads/master' && github.run_id || github.ref }} | |
| cancel-in-progress: true | |
| env: | |
| LATEST_VERSION: ${{ inputs.latest-version }} | |
| jobs: | |
| sdk: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [oldest, maintenance, active, latest] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node | |
| with: | |
| version: ${{ matrix.version }} | |
| - uses: ./.github/actions/install | |
| - run: npm run test:llmobs:sdk:ci | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }}-${{ matrix.version }} | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-sdk-${{ matrix.version }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }}-${{ strategy.job-index }} | |
| openai: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| version: [oldest, latest] | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: openai | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node | |
| with: | |
| version: ${{ matrix.version }} | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-openai-${{ matrix.version }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }}-${{ matrix.version }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }}-${{ strategy.job-index }} | |
| langchain: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: langchain | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node/newest-maintenance-lts | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/node/latest | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} | |
| bedrock: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: aws-sdk | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node/oldest-maintenance-lts | |
| - uses: ./.github/actions/install | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/node/latest | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} | |
| vertex-ai: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: google-cloud-vertexai | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node/oldest-maintenance-lts | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/node/latest | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} | |
| ai: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: ai | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node/latest | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} | |
| anthropic: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: anthropic | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node/oldest-maintenance-lts | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/node/latest | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} | |
| claude-agent-sdk: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: claude-agent-sdk | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| # The SDK is ESM-only. Tests use dynamic import() to load it. | |
| - uses: ./.github/actions/node/active-lts | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} | |
| google-genai: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: google-genai | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node/oldest-maintenance-lts | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/node/latest | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} | |
| langgraph: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: langgraph | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/plugins/test | |
| with: | |
| node-floor: newest-maintenance-lts | |
| modelcontextprotocol-sdk: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: modelcontextprotocol-sdk | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/plugins/test | |
| openai-agents: | |
| runs-on: ubuntu-latest | |
| permissions: | |
| id-token: write | |
| env: | |
| PLUGINS: openai-agents | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: ./.github/actions/testagent/start | |
| - uses: ./.github/actions/node/oldest-maintenance-lts | |
| - uses: ./.github/actions/install | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/node/latest | |
| - run: npm run test:plugins:ci | |
| - run: npm run test:llmobs:plugins:ci | |
| shell: bash | |
| - uses: ./.github/actions/coverage | |
| with: | |
| flags: llmobs-${{ github.job }} | |
| - if: always() | |
| uses: ./.github/actions/testagent/logs | |
| with: | |
| suffix: llmobs-${{ github.job }} | |
| - uses: ./.github/actions/upload-junit-artifacts | |
| if: "!cancelled()" | |
| with: | |
| id: ${{ github.job }} |