name: Balance Check on: push: branches: [main] paths: - 'packages/shared/src/constants/**' - 'packages/game-engine/src/**' - 'packages/game-simulation/**' pull_request: branches: [main] paths: - 'packages/shared/src/constants/**' - 'packages/game-engine/src/**' - 'packages/game-simulation/**' jobs: balance-simulation: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '22' - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run tests run: pnpm test - name: Run greedy simulation run: pnpm --filter @ai-tycoon/game-simulation simulate:ci multi-run-balance: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v4 - name: Setup Node.js uses: actions/setup-node@v4 with: node-version: '22' - name: Install dependencies run: pnpm install --frozen-lockfile - name: Run multi-simulation (5 runs) run: pnpm --filter @ai-tycoon/game-simulation multirun -- --runs 5 --parallel 2 --strategy greedy --ticks 28800 --no-timeseries - name: Interpret results if: always() run: pnpm --filter @ai-tycoon/game-simulation interpret -- --summary packages/game-simulation/multirun-summary.csv