This repository has been archived by the owner on Oct 22, 2024. It is now read-only.
Run benchmarks #6
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Run benchmarks | |
on: | |
schedule: | |
- cron: "0 0 */1 * *" | |
workflow_dispatch: | |
jobs: | |
benchmark_single: | |
runs-on: ubicloud-standard-8 | |
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 | |
steps: | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v1.x | |
- 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: Save benchmark results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: benchmark_single | |
path: | | |
*.json | |
benchmark_dedicated: | |
runs-on: ubicloud-standard-8 | |
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: dedicated | |
DEDICATED_WORKER: "admins:f/benchmarks/dedicated" | |
options: >- | |
--pull always --restart unless-stopped --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 | |
- 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 | |
--no-warm-up -c | |
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/suite_dedicated.json | |
- name: Save benchmark results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: benchmark_dedicated | |
path: | | |
*.json | |
benchmark_4workers: | |
runs-on: ubicloud-standard-8 | |
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_1: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_2: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_3: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
steps: | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v1.x | |
- 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 | |
--workers 4 | |
- name: Save benchmark results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: benchmark_4workers | |
path: | | |
*.json | |
benchmark_8workers: | |
runs-on: ubicloud-standard-8 | |
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_1: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_2: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_3: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_4: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_5: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_6: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
windmill_7: | |
image: ghcr.io/windmill-labs/windmill-ee:main | |
env: | |
DATABASE_URL: postgres://postgres:changeme@postgres:5432/windmill | |
LICENSE_KEY: ${{ secrets.WM_LICENSE_KEY_CI }} | |
MODE: worker | |
WORKER_GROUP: main | |
WORKER_TAGS: deno,bun,go,python3,bash,dependency,flow,nativets | |
options: >- | |
--pull always | |
steps: | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v1.x | |
- 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 | |
--workers 8 | |
- name: Save benchmark results | |
uses: actions/upload-artifact@v4 | |
with: | |
name: benchmark_8workers | |
path: | | |
*.json | |
benchmark_graphs: | |
runs-on: ubicloud | |
needs: | |
- benchmark_single | |
- benchmark_dedicated | |
- benchmark_4workers | |
- benchmark_8workers | |
steps: | |
- uses: denoland/setup-deno@v1 | |
with: | |
deno-version: v1.x | |
- uses: actions/checkout@v4 | |
with: | |
ref: benchmarks | |
- name: Download benchmark results | |
uses: actions/download-artifact@v4 | |
with: | |
merge-multiple: true | |
- name: graphs | |
run: deno run --unstable -A -r | |
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/benchmark_graphs.ts | |
-c | |
https://raw.githubusercontent.com/windmill-labs/windmill/${GITHUB_REF##ref/head/}/benchmarks/graphs_config.json | |
- name: Push changes | |
run: | | |
ls -la | |
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 |