name: Test on: pull_request: jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: "24" cache: "pnpm" - run: pnpm install --frozen-lockfile - run: pnpm typecheck - run: pnpm test agents: runs-on: ubuntu-latest timeout-minutes: 10 permissions: contents: read id-token: write strategy: fail-fast: true matrix: agent: [opentoad] test: [mcpmerge, nobash, restricted, smoke] env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} OPENAI_API_KEY: ${{ secrets.OPENAI_API_KEY }} GOOGLE_GENERATIVE_AI_API_KEY: ${{ secrets.GOOGLE_GENERATIVE_AI_API_KEY }} GEMINI_API_KEY: ${{ secrets.GEMINI_API_KEY }} XAI_API_KEY: ${{ secrets.XAI_API_KEY }} DEEPSEEK_API_KEY: ${{ secrets.DEEPSEEK_API_KEY }} OPENROUTER_API_KEY: ${{ secrets.OPENROUTER_API_KEY }} MOONSHOT_API_KEY: ${{ secrets.MOONSHOT_API_KEY }} OPENCODE_API_KEY: ${{ secrets.OPENCODE_API_KEY }} OPENCODE_MODEL: ${{ vars.OPENCODE_MODEL }} steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: "24" cache: "pnpm" - run: pnpm install --frozen-lockfile - run: pnpm runtest ${{ matrix.test }} ${{ matrix.agent }} agnostic: runs-on: ubuntu-latest timeout-minutes: 10 permissions: contents: read id-token: write strategy: fail-fast: true matrix: test: [ git-permissions, githooks, pkg-json-scripts, push-disabled, push-enabled, push-restricted, timeout, token-exfil, ] env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} ANTHROPIC_API_KEY: ${{ secrets.ANTHROPIC_API_KEY }} steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@v4 - uses: actions/setup-node@v4 with: node-version: "24" cache: "pnpm" - run: pnpm install --frozen-lockfile - run: pnpm runtest ${{ matrix.test }}