diff --git a/.github/workflows/bench.yml b/.github/workflows/bench.yml new file mode 100644 index 0000000000..81733f5f13 --- /dev/null +++ b/.github/workflows/bench.yml @@ -0,0 +1,37 @@ +name: Benchmarks + +on: + workflow_dispatch: + +jobs: + benchmarks: + name: Run benchmarks + runs-on: ubuntu-latest-16-cores + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Setup + uses: ./.github/actions/setup + + - name: Build + uses: ./.github/actions/build + + - name: Install end-to-end testing dependencies + working-directory: ./e2e + run: pnpm install + + - name: Clean end-to-end project + working-directory: ./e2e + run: pnpm run clean + + - name: Build end-to-end project + working-directory: ./e2e + run: pnpm run build + + - name: Generate test data + working-directory: ./e2e + run: pnpm run generate-test-data-records + + - name: Run benchmarks + run: pnpm run bench diff --git a/e2e/package.json b/e2e/package.json index 446c64733d..c2cf63ffe7 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -4,6 +4,7 @@ "scripts": { "build": "pnpm recursive run build", "clean": "pnpm recursive run clean", + "generate-test-data-records": "pnpm run --filter=test-data generate-test-data-records", "playwright-install": "pnpx playwright@1.35.1 install --with-deps chromium", "test": "pnpm recursive run test", "test:ci": "pnpm run test" diff --git a/package.json b/package.json index 9cdf926630..17c7bc3c33 100644 --- a/package.json +++ b/package.json @@ -10,6 +10,7 @@ "scripts": { "all-codegen": "for dir in packages/store packages/world packages/world-modules packages/cli e2e/packages/contracts examples/*/packages/contracts templates/*/packages/contracts; do (cd \"$dir\" && pwd && pnpm build); done", "all-install": "for dir in . docs e2e examples/* templates/*; do (cd \"$dir\" && pwd && pnpm install); done", + "bench": "pnpm run --recursive bench", "build": "turbo run build", "clean": "turbo run clean", "dev": "turbo run dev --concurrency 100",