fix: change SQLTagStore.size from method to getter for API parity wit… #45
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: Stress Tests | |
| on: | |
| pull_request: | |
| paths: | |
| - "src/**/*.cpp" | |
| - "src/**/*.h" | |
| - "src/**/*.ts" | |
| - "benchmark/**" | |
| - ".github/workflows/stress-tests.yml" | |
| push: | |
| branches: [main] | |
| workflow_dispatch: | |
| inputs: | |
| size: | |
| description: "Database size in MB" | |
| required: false | |
| type: choice | |
| default: "10" | |
| options: | |
| - "10" | |
| - "50" | |
| - "100" | |
| - "200" | |
| jobs: | |
| stress-test: | |
| runs-on: ubuntu-24.04 | |
| timeout-minutes: 30 | |
| strategy: | |
| matrix: | |
| node-version: [20, 22] | |
| name: Stress Tests (Node ${{ matrix.node-version }}) | |
| steps: | |
| - uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 | |
| - uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: "npm" | |
| - name: Install dependencies | |
| run: npm ci --ignore-scripts | |
| - name: Build project | |
| run: npm run build | |
| - name: Run stress test validation | |
| run: npm run stress-test:validate | |
| timeout-minutes: 5 | |
| - name: Install and build benchmark dependencies | |
| run: | | |
| cd benchmark | |
| npm install | |
| # Rebuild better-sqlite3 native bindings (npm install skips scripts due to .npmrc) | |
| npm rebuild better-sqlite3 | |
| cd .. | |
| - name: Run stress tests (CI mode) | |
| run: npx tsx scripts/stress-test.ts --ci --output-file stress-test-results.json | |
| timeout-minutes: 20 | |
| - name: Upload stress test results | |
| if: always() | |
| uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0 | |
| with: | |
| name: stress-test-results-node-${{ matrix.node-version }} | |
| path: | | |
| stress-test-results.json | |
| stress-test-results.md | |
| retention-days: 30 | |
| - name: Performance regression check | |
| if: github.event_name == 'pull_request' | |
| run: | | |
| # This is a placeholder for future performance regression detection | |
| # Could compare against baseline performance metrics stored in the repo | |
| echo "Performance regression check completed" |