name: Quality & Validation # Runs comprehensive quality checks on all PRs: # - Prettier (formatting) # - ESLint (linting) # - Schema validation (YAML structure) # - Agent schema tests (fixture-based validation) # - Installation component tests (compilation) # - Bundle validation (web bundle integrity) "on": pull_request: branches: ["**"] workflow_dispatch: jobs: prettier: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Prettier format check run: npm run format:check eslint: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: ESLint run: npm run lint schema-validation: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Validate YAML schemas run: npm run validate:schemas agent-schema-tests: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Run agent schema validation tests run: npm run test:schemas installation-components: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Test agent compilation components run: npm run test:install bundle-validation: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Setup Node uses: actions/setup-node@v4 with: node-version-file: ".nvmrc" cache: "npm" - name: Install dependencies run: npm ci - name: Validate web bundles run: npm run validate:bundles