manticoresoftware / manticoresearch

Easy to use open source fast database for search | Good alternative to Elasticsearch now | Drop-in replacement for E in the ELK soon
https://manticoresearch.com
GNU General Public License v3.0
9.08k stars 510 forks source link

Improve Daemon / Buddy auto-pr workflow #2680

Closed sanikolaev closed 3 weeks ago

sanikolaev commented 1 month ago

Proposal:

Problem: Currently, the QA department can add or modify tests for changes in Buddy only after those changes are merged into Buddy. This is problematic because it's not ideal to merge something into the main/master branch without tests.

Here's how we can adjust our daemon/Buddy workflow to allow test development while still working on a feature in Buddy:

  1. We create a PR in the Buddy repository.
  2. CI creates a PR in the daemon's repo (the branch name in the daemon should be buddy-<Buddy PR number>) with changes to deps.txt. The target branch should be update-buddy-version, not master.
  3. In test_kit_docker_build.sh, we make a change so that the test-kit pulls Buddy from the repository during the build, instead of from the package.
  4. The branch buddy-<Buddy PR number> may change (deps.txt will be updated in the branch).
  5. QA adds and runs tests directly in the branch buddy-<Buddy PR number>.
  6. Based on the tests in the branch, we decide whether the PR in Buddy can be merged.
  7. We merge the PR in Buddy.
  8. A new PR is created in the daemon: update buddy version (from the branch update-buddy-version to the master branch).
  9. QA merges their changes from the branch buddy-<Buddy PR number> into the update-buddy-version branch.
  10. We merge the "update buddy version" PR into master.

Action items:

Checklist:

To be completed by the assignee. Check off tasks that have been completed or are not applicable.

- [x] Implementation completed - [x] Tests developed - [x] Documentation updated - [x] Documentation reviewed - [x] [Changelog](https://docs.google.com/spreadsheets/d/1mz_3dRWKs86FjRF7EIZUziUDK_2Hvhd97G0pLpxo05s/edit?pli=1&gid=1102439133#gid=1102439133) updated - [x] OpenAPI YAML updated and issue created to rebuild clients
donhardman commented 4 weeks ago

We should review and merge this pull first: https://github.com/manticoresoftware/manticoresearch/pull/2688 And after update and proceed with buddy changes: https://github.com/manticoresoftware/manticoresearch-buddy/pull/385

donhardman commented 3 weeks ago

The updated pipeline was merged. Closing the issue as done