mirror of
https://github.com/yamadashy/repomix.git
synced 2026-02-03 11:33:39 +01:00
124 lines
3.5 KiB
YAML
124 lines
3.5 KiB
YAML
name: Memory Benchmark
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
branches: [main]
|
|
workflow_dispatch:
|
|
inputs:
|
|
iterations:
|
|
description: 'Number of test iterations (default: 50)'
|
|
required: false
|
|
default: '50'
|
|
delay:
|
|
description: 'Delay between iterations in ms (default: 50)'
|
|
required: false
|
|
default: '50'
|
|
|
|
jobs:
|
|
memory-test:
|
|
name: Memory Test
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 15
|
|
defaults:
|
|
run:
|
|
working-directory: scripts/memory
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
|
with:
|
|
node-version-file: .tool-versions
|
|
cache: npm
|
|
cache-dependency-path: |
|
|
package-lock.json
|
|
scripts/memory/package-lock.json
|
|
|
|
# Install root dependencies (for repomix)
|
|
- name: Install root dependencies
|
|
working-directory: .
|
|
run: npm ci
|
|
|
|
# Build repomix
|
|
- name: Build repomix
|
|
working-directory: .
|
|
run: npm run build
|
|
|
|
# Install benchmark dependencies
|
|
- name: Install benchmark dependencies
|
|
run: npm ci
|
|
|
|
# Build benchmark
|
|
- name: Build benchmark
|
|
run: npm run build
|
|
|
|
# Run memory test
|
|
- name: Run memory test
|
|
run: |
|
|
ITERATIONS=${{ github.event.inputs.iterations || '50' }}
|
|
DELAY=${{ github.event.inputs.delay || '50' }}
|
|
node --expose-gc dist/memory-test.js $ITERATIONS $DELAY
|
|
env:
|
|
CI: true
|
|
|
|
# Upload memory test results if available
|
|
- name: Upload memory test results
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
if: always()
|
|
with:
|
|
name: memory-test-results-${{ github.run_id }}
|
|
path: scripts/memory/memory-test-results-*.json
|
|
retention-days: 30
|
|
|
|
memory-test-full:
|
|
name: Memory Test (Full Analysis)
|
|
runs-on: ubuntu-latest
|
|
timeout-minutes: 30
|
|
# Only run full analysis on manual dispatch
|
|
if: github.event_name == 'workflow_dispatch'
|
|
defaults:
|
|
run:
|
|
working-directory: scripts/memory
|
|
steps:
|
|
- uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1
|
|
- uses: actions/setup-node@395ad3262231945c25e8478fd5baf05154b1d79f # v6.1.0
|
|
with:
|
|
node-version-file: .tool-versions
|
|
cache: npm
|
|
cache-dependency-path: |
|
|
package-lock.json
|
|
scripts/memory/package-lock.json
|
|
|
|
# Install root dependencies (for repomix)
|
|
- name: Install root dependencies
|
|
working-directory: .
|
|
run: npm ci
|
|
|
|
# Build repomix
|
|
- name: Build repomix
|
|
working-directory: .
|
|
run: npm run build
|
|
|
|
# Install benchmark dependencies
|
|
- name: Install benchmark dependencies
|
|
run: npm ci
|
|
|
|
# Build benchmark
|
|
- name: Build benchmark
|
|
run: npm run build
|
|
|
|
# Run comprehensive memory test
|
|
- name: Run comprehensive memory test
|
|
run: node --expose-gc dist/memory-test.js --full --save
|
|
env:
|
|
CI: true
|
|
|
|
# Upload detailed memory test results
|
|
- name: Upload detailed memory test results
|
|
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4 # v5.0.0
|
|
if: always()
|
|
with:
|
|
name: memory-test-results-full-${{ github.run_id }}
|
|
path: scripts/memory/memory-test-results-*.json
|
|
retention-days: 90
|