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

Update doc about PR #5756

Merged
merged 3 commits into from
May 12, 2022
Merged

Update doc about PR #5756

merged 3 commits into from
May 12, 2022

Conversation

bmarty
Copy link
Member

@bmarty bmarty commented Apr 13, 2022

- if a feature implementation is split into multiple PRs. We can have a chain of PRs in this case. PR can be merged one by one on develop, and GitHub change the target branch to `develop` for the next PR automatically.
- we want to merge a PR from the community, but there is still work to do, and the PR is not updated by the submitter. In this case, we can create a new branch, push it, and change the target branch of the PR to this new branch. The PR can then be merged, and we can add more commits to fix the issues. After that a new PR can be created with `develop` as a target branch.

**Important notice 1:** Releases are created from the `develop` branch. So `develop` branch should always contain a "releasable" source code. So when a feature is being implemented with several PRs, it has to be disabled by default, until the feature is fully implemented. A last PR to enable the feature can then be created.
Copy link
Contributor

Choose a reason for hiding this comment

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

Perhaps we can explicitly state what's meant by a feature being disabled? Like whether it's via feature flag or being kept on another branch, etc

Copy link
Contributor

Choose a reason for hiding this comment

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

When multiple developers are working on the same feature, waiting for others' PR to be merged into develop is sometimes blocking/time-consuming. I think we should consider keeping them in another branch and create new branches on top of it instead of develop.

Copy link
Contributor

Choose a reason for hiding this comment

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

I think working on a different branch for a new feature may be painful concerning resolving conflicts when merging the feature branch into develop: it will raise the same problems as forked project. In my opinion, using a feature flag is the painless approach to smoothly integrate new features. But I admit we should find a good process to be faster to avoid blocks when working on the same feature.

Copy link
Member Author

Choose a reason for hiding this comment

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

Perhaps we can explicitly state what's meant by a feature being disabled? Like whether it's via feature flag or being kept on another branch, etc

3faf0a2

@github-actions
Copy link

github-actions bot commented Apr 13, 2022

Unit Test Results

122 files  +  8  122 suites  +8   2m 18s ⏱️ +44s
205 tests +  4  205 ✔️ +  4  0 💤 ±0  0 ±0 
690 runs  +16  690 ✔️ +16  0 💤 ±0  0 ±0 

Results for commit 3faf0a2. ± Comparison against base commit 2761b35.

This pull request removes 10 and adds 14 tests. Note that renamed tests count towards both.
im.vector.app.features.onboarding.OnboardingViewModelTest ‑ given when editing homeserver, then updates selected homeserver state and emits edited event
org.matrix.android.sdk.api.pushrules.PushRuleActionsTest ‑ test_action_parsing
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_displayName_condition
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_eventmatch_cake_condition
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_eventmatch_cakelie_condition
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_eventmatch_path_condition
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_eventmatch_type_condition
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_eventmatch_words_only_condition
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_notice_condition
org.matrix.android.sdk.api.pushrules.PushRulesConditionTest ‑ test_roommember_condition
im.vector.app.features.crypto.UISIDetectorTest ‑ If event decrypted during grace period should not trigger detection
im.vector.app.features.crypto.UISIDetectorTest ‑ trigger detection after grace period
im.vector.app.features.onboarding.OnboardingViewModelTest ‑ given in the sign up flow, when editing homeserver errors, then does not update the selected homeserver state and emits error
im.vector.app.features.onboarding.OnboardingViewModelTest ‑ given in the sign up flow, when editing homeserver, then updates selected homeserver state and emits edited event
im.vector.app.features.onboarding.ftueauth.FtueMissingRegistrationStagesComparatorTest ‑ when ordering stages, then prioritizes email
org.matrix.android.sdk.api.session.pushrules.PushRuleActionsTest ‑ test_action_parsing
org.matrix.android.sdk.api.session.pushrules.PushRulesConditionTest ‑ test_displayName_condition
org.matrix.android.sdk.api.session.pushrules.PushRulesConditionTest ‑ test_eventmatch_cake_condition
org.matrix.android.sdk.api.session.pushrules.PushRulesConditionTest ‑ test_eventmatch_cakelie_condition
org.matrix.android.sdk.api.session.pushrules.PushRulesConditionTest ‑ test_eventmatch_path_condition
…

♻️ This comment has been updated with latest results.

Exceptions can occur:

- if a feature implementation is split into multiple PRs. We can have a chain of PRs in this case. PR can be merged one by one on develop, and GitHub change the target branch to `develop` for the next PR automatically.
- we want to merge a PR from the community, but there is still work to do, and the PR is not updated by the submitter. In this case, we can create a new branch, push it, and change the target branch of the PR to this new branch. The PR can then be merged, and we can add more commits to fix the issues. After that a new PR can be created with `develop` as a target branch.
Copy link
Contributor

Choose a reason for hiding this comment

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

I totally agree, we should just find the best process to inform the submitter, maybe via email or with a comment on his PR

Copy link
Member Author

Choose a reason for hiding this comment

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

@bmarty
Copy link
Member Author

bmarty commented May 12, 2022

Let's merge the change and iterate later if necessary!

@bmarty bmarty merged commit f54c865 into develop May 12, 2022
@bmarty bmarty deleted the feature/bma/pr_doc_update branch May 12, 2022 13:03
@github-actions
Copy link

Matrix SDK

Integration Tests Results:

  • [org.matrix.android.sdk.session]
    = passed=15 failures=5 errors=0 skipped=3
  • [org.matrix.android.sdk.account]
    = passed=3 failures=0 errors=0 skipped=2
  • [org.matrix.android.sdk.internal]
    = passed=9 failures=1 errors=0 skipped=0
  • [org.matrix.android.sdk.ordering]
    = passed=16 failures=0 errors=0 skipped=0
  • [org.matrix.android.sdk.PermalinkParserTest]
    = passed=2 failures=0 errors=0 skipped=0

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.

None yet

5 participants