name: pi-agent-plugin checks # On PRs this is invoked by ci-gate.yml (the single required check); # push-to-main and manual runs remain standalone. on: workflow_dispatch: push: branches: [main] paths: - 'integrations/pi-agent-plugin/**' - '.github/workflows/pi-agent-plugin-checks.yml' workflow_call: jobs: lint: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 with: version: 9 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' cache-dependency-path: integrations/pi-agent-plugin/pnpm-lock.yaml - name: Install dependencies run: cd integrations/pi-agent-plugin && pnpm install --frozen-lockfile - name: Type check run: cd integrations/pi-agent-plugin && pnpm exec tsc --noEmit test: runs-on: ubuntu-latest strategy: matrix: node-version: [20, 22] steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 with: version: 9 - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v4 with: node-version: ${{ matrix.node-version }} cache: 'pnpm' cache-dependency-path: integrations/pi-agent-plugin/pnpm-lock.yaml - name: Install dependencies run: cd integrations/pi-agent-plugin && pnpm install --frozen-lockfile - name: Run tests run: cd integrations/pi-agent-plugin && pnpm exec vitest run build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 with: version: 9 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: 20 cache: 'pnpm' cache-dependency-path: integrations/pi-agent-plugin/pnpm-lock.yaml - name: Install dependencies run: cd integrations/pi-agent-plugin && pnpm install --frozen-lockfile - name: Build run: cd integrations/pi-agent-plugin && pnpm build - name: Verify dist output exists run: | test -f integrations/pi-agent-plugin/dist/index.js || (echo "Build output missing: dist/index.js" && exit 1) test -f integrations/pi-agent-plugin/dist/index.d.ts || (echo "Build output missing: dist/index.d.ts" && exit 1) test -f integrations/pi-agent-plugin/dist/entry.js || (echo "Build output missing: dist/entry.js" && exit 1) test -f integrations/pi-agent-plugin/dist/entry.d.ts || (echo "Build output missing: dist/entry.d.ts" && exit 1)