-
Notifications
You must be signed in to change notification settings - Fork 73
Description
What/Why
What are you proposing?
Enabled "Required CI to pass" on all component repositories that are a part of the distribution.
See GH documentation regarding the same.
What users have asked for this feature?
OpenSearch and OpenSearch-Dashboards have already enabled required CI checks for quality control and hygiene of the repository. Checkout the GH issue requesting the same.
What problems are you trying to solve?
- While working on [PROPOSAL] Automate merging of branch version bump PRs opensearch-build#5501 that aims at automating auto-merging pull requests for version increment PRs for releases, it was observed that the only check "required" by all the components is a code review. If the PR is approved, the auto-merge feature of GitHub considers it good to go and merges the pull requests.
- Instead of having a manual check (reinventing the wheel) to see if all the CIs pass, if it better to have required CIs added in the repository settings that would do the job for us.
- Good CI at the PR also means less surprises during distribution integration testing.
What is the developer experience going to be?
Developers would have strong guard rails in place making sure the CI passes before every PR is merged. This might slow down the development that forces contributors/maintainers to solve the flaky tests, have good tests but maintain the repo hygiene.
The required checks are very granular allowing the developers to only keep linux, java-21
build CI workflow as required and not all matrices.

Are there any security considerations?
No
Are there any breaking changes to the API
N/A
What is the user experience going to be?
The contributors, authors and maintainers will be seeing "Required check" across the CIs that need to pass for PRs to be merged. We will be requesting across the repos to give us clear rules to add for specific branches.
Maintainers or codeowners will be responsible what qualifies as required for each individual repo.
Are there breaking changes to the User Experience?
No
Why should it be built? Any reason not to?
So that as codeowners we maintain good code quality and enforce strong guardrails for new upcoming code.
What will it take to execute?
Below steps need to be taken:
- Create issues in all the components' repositories asking what workflows are required and across which branches.
- For example: Build, test might be required. Link checker is not a required check.
- Once we get feedback on above issues, @opensearch-project/admin will take care of adding those rules.
- Get it verified by one of the maintainers.
Any remaining open questions?
We need a decision to be made on #356 whether to allow maintainers to by-pass these required checks in any case before moving forward.
- All Issues:
[Action Required] Enable required status checks gaiksaya/opensearch-build#55
[Action Required] Enable required status checks opensearch-project/common-utils#872
[Action Required] Enable required status checks opensearch-project/alerting#1922
[Action Required] Enable required status checks opensearch-project/anomaly-detection#1558
[Action Required] Enable required status checks opensearch-project/asynchronous-search#765
[Action Required] Enable required status checks opensearch-project/cross-cluster-replication#1578
[Action Required] Enable required status checks opensearch-project/custom-codecs#275
[Action Required] Enable required status checks opensearch-project/flow-framework#1224
[Action Required] Enable required status checks opensearch-project/geospatial#794
[Action Required] Enable required status checks opensearch-project/index-management#1483
[Action Required] Enable required status checks opensearch-project/job-scheduler#827
[Action Required] Enable required status checks opensearch-project/k-NN#2860
[Action Required] Enable required status checks opensearch-project/ml-commons#4152
[Action Required] Enable required status checks opensearch-project/neural-search#1546
[Action Required] Enable required status checks opensearch-project/notifications#1073
[Action Required] Enable required status checks opensearch-project/observability#1945
[Action Required] Enable required status checks opensearch-project/reporting#1123
[Action Required] Enable required status checks opensearch-project/performance-analyzer#843
[Action Required] Enable required status checks opensearch-project/security-analytics#1573
[Action Required] Enable required status checks opensearch-project/security#5601
[Action Required] Enable required status checks opensearch-project/skills#632
[Action Required] Enable required status checks opensearch-project/sql#4205
[Action Required] Enable required status checks opensearch-project/opensearch-system-templates#97
[Action Required] Enable required status checks opensearch-project/opensearch-remote-metadata-sdk#248
[Action Required] Enable required status checks opensearch-project/query-insights#410
[Action Required] Enable required status checks opensearch-project/search-relevance#236
[Action Required] Enable required status checks opensearch-project/user-behavior-insights#123
[Action Required] Enable required status checks opensearch-project/opensearch-learning-to-rank-base#223
[Action Required] Enable required status checks opensearch-project/dashboards-query-workbench#496
[Action Required] Enable required status checks opensearch-project/alerting-dashboards-plugin#1288
[Action Required] Enable required status checks opensearch-project/dashboards-notifications#375
[Action Required] Enable required status checks opensearch-project/security-dashboards-plugin#2305
[Action Required] Enable required status checks opensearch-project/index-management-dashboards-plugin#1351
[Action Required] Enable required status checks opensearch-project/anomaly-detection-dashboards-plugin#1093
[Action Required] Enable required status checks opensearch-project/dashboards-reporting#626
[Action Required] Enable required status checks opensearch-project/dashboards-observability#2498
[Action Required] Enable required status checks opensearch-project/dashboards-visualizations#457
[Action Required] Enable required status checks opensearch-project/dashboards-search-relevance#633
[Action Required] Enable required status checks opensearch-project/dashboards-maps#759
[Action Required] Enable required status checks opensearch-project/security-analytics-dashboards-plugin#1329
[Action Required] Enable required status checks opensearch-project/ml-commons-dashboards#446
[Action Required] Enable required status checks opensearch-project/dashboards-assistant#608
[Action Required] Enable required status checks opensearch-project/dashboards-flow-framework#770
[Action Required] Enable required status checks opensearch-project/query-insights-dashboards#339a
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
Status