Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Automate running benchmarks for all engines #134

Merged
merged 12 commits into from
Apr 18, 2024
Merged

Conversation

tellet-q
Copy link
Contributor

Solves #123

Run *-default experiment for each engine using random-100 or glove-25-angular dataset against single-node deployment. Note that OS and ES have dedicated single-node deployments with reduced memory to fit into default github runner.

The workflow triggers:

  • on manual run
  • on push to master
  • on pull-request creation

@tellet-q tellet-q requested a review from KShivendu April 18, 2024 10:24
@tellet-q
Copy link
Contributor Author

We can adjust the triggering on a job level by adding conditionals like this:

      !(
        startsWith(github.event.head_commit.modified, 'tests/') || 
        startsWith(github.event.head_commit.modified, 'scripts/') || 
        startsWith(github.event.head_commit.modified, 'monitoring/') ||
        contains(github.event.head_commit.modified, '.dockerignore') ||
        contains(github.event.head_commit.modified, '.gitignore') ||
        contains(github.event.head_commit.modified, '.pre-commit-config.yaml') ||
        contains(github.event.head_commit.modified, 'Dockerfile') ||
        contains(github.event.head_commit.modified, 'LICENSE') ||
        contains(github.event.head_commit.modified, 'README.md')
        contains(github.event.head_commit.modified, 'run_all_engines.sh')
        contains(github.event.head_commit.modified, 'sync_results.sh')
      )

This will NOT trigger the jobs if the changes ONLY include changes in the specified folders and files. For any other case the jobs will run. Unfortunately I'll have to configure each job like this, so it'll look a bit cumbersome.

Copy link
Member

@KShivendu KShivendu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! 🙌

I hope this will also expose UI (in /actions) to manually pick only one particular engine/dataset, right?

.github/workflows/actions/run-engine-benchmark/action.yaml Outdated Show resolved Hide resolved
tools/wait_for_green_status.sh Show resolved Hide resolved
@KShivendu
Copy link
Member

This will NOT trigger the jobs if the changes ONLY include changes in the specified folders and files. For any other case the jobs will run. Unfortunately I'll have to configure each job like this, so it'll look a bit cumbersome.

Interesting that we can do this.

@tellet-q Can we do something like this instead?

      (
        startsWith(github.event.head_commit.modified, 'engine/{clients,server}/*<engine-name>*') || 
        startsWith(github.event.head_commit.modified, 'engine/base_client/')
      )

Where <engine-name> will vary for each job (engine)

@tellet-q
Copy link
Contributor Author

I hope this will also expose UI (in /actions) to manually pick only one particular engine/dataset, right?

Unfortunately, no. There are no changes in the UI.

@tellet-q
Copy link
Contributor Author

@tellet-q Can we do something like this instead?

      (
        startsWith(github.event.head_commit.modified, 'engine/{clients,server}/*<engine-name>*') || 
        startsWith(github.event.head_commit.modified, 'engine/base_client/')
      )

Where <engine-name> will vary for each job (engine)

Not exactly like this, but similar, yes.

    if: >
      (
      startsWith(github.event.head_commit.modified, 'engine/clients/pgvector') ||
      startsWith(github.event.head_commit.modified, 'engine/servers/pgvector') ||
      startsWith(github.event.head_commit.modified, 'engine/base_client/')
      )

In this case the job will run ONLY if changes were made in specified folders.

@tellet-q tellet-q requested a review from KShivendu April 18, 2024 12:01
Copy link
Member

@KShivendu KShivendu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you want to try this, then please give it a shot. Otherwise, it lgtm anyways.

Let's see how this works when merged.

@tellet-q tellet-q merged commit 455b590 into master Apr 18, 2024
1 check passed
@tellet-q tellet-q deleted the ci/benchmark-all-engines branch April 18, 2024 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants