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

[PROPOSAL] Feature branching #469

Open
kavilla opened this issue Feb 1, 2023 · 4 comments
Open

[PROPOSAL] Feature branching #469

kavilla opened this issue Feb 1, 2023 · 4 comments
Labels

Comments

@kavilla
Copy link
Member

kavilla commented Feb 1, 2023

What/Why

What are you proposing?

Feature branching in this repo to match the feature branching within OpenSearch Dashboards. Here is a list of feature branches within the repo:

https://github.com/opensearch-project/OpenSearch-Dashboards/branches/all?query=feature

What problems are you trying to solve?

There is a workflow within OpenSearch Dashboards for every pull request that checks out this repo from the corresponding target branch name and then run the tests within this repo.

So if the target branch from the pull request into OpenSearch Dashboards was main, the workflow will checkout the functional test repo on the main branch and run the targeted tests. If it was 2.x it will checkout this repo's 2.x branch, and so-on.

However, when developers work on a feature branch there is no corresponding feature branch in this repo exists with the same name so the workflow fails.

Solution

Create a feature branch within this repo of the corresponding name when the feature branch is created within OpenSearch Dashboards so that the workflow works. The added benefit to this is that developers can work on a feature branch without being blocked by review times so that they can develop quickly and the raise PRs without interruptingmain as well. One major con, is that if we are not active on the checking on the content of the feature branches then when the feature branch is ready to be reviewed it might be a large review that takes a lot of time to review to avoid any issues. But we have accepted the risk and rely on the CI to hold the bar to feature branches. Another con is which branch to branch off of, which I think should always be main but I understand a lot of repos don't work off of main for OpenSearch Dashboards and OpenSearch. Finally, keeping the feature branch in sync, which I believe we do in in the core repo by request or having the developers for the feature branch create a merge PR into their branch.

Other

I have gone ahead and created the feature branches for a couple of the existing branches. If we are uncomfortable with this approach and prefer other methods (or maybe not supporting this at all) then we can easily delete these branches.

If we are comfortable with this approach we should add it apart of some runbook for maintainers to create feature branches in both repos when requested so. @ashwin-pc @tianleh.

@kavilla kavilla added the discuss label Feb 1, 2023
@joshuarrrr
Copy link
Member

I think this sounds great, let's go ahead and try it out, as you suggested. We should also include this in the feature branch proposal (even though it's specific to dashboards and dashboard plugins) opensearch-project/.github#117

@tianleh
Copy link
Member

tianleh commented Feb 2, 2023

Looks good.

@ashwin-pc
Copy link
Member

+1.

@ohltyler
Copy link
Member

It seems this is working as expected - is there anything left to do on this @kavilla ? Perhaps add something in the README?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

5 participants