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:main env: DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill options: >- --pull always --health-interval 10s --health-timeout 5s --health-retries 5 --health-cmd "curl http://localhost:8000/api/version" ports: - 8000:8000 steps: - uses: denoland/setup-deno@v1 with: deno-version: v1.x - uses: actions/checkout@v4 with: ref: benchmarks - name: benchmark timeout-minutes: 10 run: deno run --unstable -A https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_suite.ts --host http://localhost:8000 -e admin@windmill.dev -p changeme -c https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/suite_config.json --branch ${GITHUB_REF##ref/head/} - 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