diff --git a/.github/workflows/codspeed.yml b/.github/workflows/codspeed.yml new file mode 100644 index 0000000..4e5e7b7 --- /dev/null +++ b/.github/workflows/codspeed.yml @@ -0,0 +1,23 @@ +name: codspeed + +on: + push: + branches: [main] + pull_request: + types: [opened, synchronize, reopened] + +jobs: + codspeed: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4 + with: + node-version: 20 + - uses: oven-sh/setup-bun@f4d14e03ff726c06358e5557344e1da148b56cf7 # v1 + - run: bun install + - name: Run benchmarks + uses: CodSpeedHQ/action@v3 + with: + run: bun run bench + token: ${{ secrets.CODSPEED_TOKEN }} diff --git a/bun.lockb b/bun.lockb index fd5f816..14b2e36 100755 Binary files a/bun.lockb and b/bun.lockb differ diff --git a/package.json b/package.json index b3181c6..312a14e 100644 --- a/package.json +++ b/package.json @@ -33,6 +33,7 @@ "clean": "turbo run clean", "test": "turbo run test", "test:watch": "turbo run test:watch", + "bench": "turbo run bench", "coverage": "turbo run coverage", "changeset": "changeset", "version-packages": "changeset version", diff --git a/packages/python/package.json b/packages/python/package.json index e2d078d..0ac50cf 100644 --- a/packages/python/package.json +++ b/packages/python/package.json @@ -14,7 +14,7 @@ "test": "vitest", "test:watch": "vitest", "coverage": "vitest run --coverage", - "bench": "vitest bench" + "bench": "vitest bench --run" }, "devDependencies": { "typescript": "5.5.4", @@ -22,6 +22,7 @@ "tsup": "8.2.3", "@microsoft/api-extractor": "7.47.4", "@tsconfig/bun": "1.0.7", - "@vitest/coverage-v8": "2.0.5" + "@vitest/coverage-v8": "2.0.5", + "@codspeed/vitest-plugin": "3.1.1" } } diff --git a/packages/python/src/built-in/iter.bench.ts b/packages/python/src/built-in/iter.bench.ts new file mode 100644 index 0000000..aea5fdd --- /dev/null +++ b/packages/python/src/built-in/iter.bench.ts @@ -0,0 +1,5 @@ +import { bench, describe } from "vitest"; + +describe("iter", () => { + bench.todo("unimplemented test"); +}); diff --git a/packages/python/vitest.config.ts b/packages/python/vitest.config.ts index 33780b3..91edc87 100644 --- a/packages/python/vitest.config.ts +++ b/packages/python/vitest.config.ts @@ -1,6 +1,8 @@ +import codspeedPlugin from "@codspeed/vitest-plugin"; import { defineConfig } from "vitest/config"; export default defineConfig({ + plugins: [codspeedPlugin()], test: { coverage: { provider: "v8", diff --git a/turbo.json b/turbo.json index 2e47179..0fde510 100644 --- a/turbo.json +++ b/turbo.json @@ -19,6 +19,9 @@ "coverage": { "outputs": [] }, + "bench": { + "outputs": [] + }, "dev": { "persistent": true, "cache": false