feat(ai): aiConfig realm split — KB + MC inherit Tier-1 leaves via getParent chain (#12166) #1740
Workflow file for this run
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: Tests | |
| on: | |
| pull_request: | |
| branches: [dev] | |
| push: | |
| branches: [dev] | |
| concurrency: | |
| group: tests-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| test: | |
| name: ${{ matrix.suite }} | |
| runs-on: ubuntu-latest | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| # Bucket A-F audit (#10903) closed via #10907/#10921/#10910/#10919/#10920. | |
| # Bucket G (#10924) substrate fixes landed via #10940 (TestLifecycleHelper | |
| # primitive + daemon-spec migration) + open trackers for residual flakes | |
| # (#10941/#10936/#10937/#10946 — all unit-skip-guarded via NEO_TEST_SKIP_CI). | |
| suite: [integration-unified, unit] | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v6 | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: '24' | |
| cache: 'npm' | |
| # Pre-create .neo-ai-data so the `prepare` lifecycle's downloadKnowledgeBase | |
| # short-circuits via its existing-dir guard. Integration tests use a tmpfs | |
| # Chroma per `ai/deploy/docker-compose.test.yml`; unit tests are mocked. | |
| # Neither suite needs the canonical KB artifact in CI. | |
| - name: Skip Knowledge Base download in prepare lifecycle | |
| run: mkdir -p .neo-ai-data | |
| - name: Install dependencies | |
| run: npm ci | |
| # Required for the unit-test runner per bootstrapWorktree.mjs precedent. | |
| # Harmless for the integration suite. | |
| - name: Bundle parse5 | |
| run: npm run bundle-parse5 | |
| - name: Run ${{ matrix.suite }} tests | |
| run: npm run test-${{ matrix.suite }} | |
| env: | |
| NEO_INTEGRATION_STACK_TIMEOUT_MS: '240000' | |
| # Keep the unit residual skip guards active without gating integration specs. | |
| NEO_TEST_SKIP_CI: ${{ matrix.suite == 'unit' && 'true' || '' }} | |
| - name: Upload test artifacts on failure | |
| if: failure() | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: test-results-${{ matrix.suite }}-${{ github.run_id }} | |
| path: test/playwright/test-results/ | |
| retention-days: 14 |