name: Run benchmarks on: schedule: - cron: "0 0 */1 * *" workflow_dispatch: jobs: benchmark: runs-on: [self-hosted, new] services: postgres: image: postgres env: POSTGRES_DB: windmill POSTGRES_PASSWORD: changeme options: >- --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 5 windmill: image: ghcr.io/windmill-labs/windmill-ee:main env: DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} WORKER_GROUP: main WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets options: >- --pull always --health-interval 10s --health-timeout 5s --health-retries 5 --health-cmd "curl http://localhost:8000/api/version" ports: - 8000:8000 windmill-worker: image: ghcr.io/windmill-labs/windmill-ee:main env: DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill DISABLE_SERVER: true WORKER_GROUP: dedicated DEDICATED_WORKER: "admins:f/benchmarks/dedicated" LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} options: >- --pull always steps: - uses: denoland/setup-deno@v1 with: deno-version: v1.x - uses: actions/checkout@v4 with: ref: benchmarks - name: benchmark timeout-minutes: 20 run: deno run --unstable -A -r https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_suite.ts -c https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/suite_config.json - name: Push changes run: | pwd git add . git config --local user.email "41898282+github-actions[bot]@users.noreply.github.com" git config --local user.name "github-actions[bot]" git commit -m "Update benchmarks" git push