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

DOC Update maintainer guidelines #383

Conversation

GuySartorelli
Copy link
Member

@GuySartorelli GuySartorelli commented Oct 18, 2023

  • don't use brand icon
  • update language to reflect current state of affairs
  • update links (looks like this used to be in "contributing" and the links didn't get updated when it moved)
  • Remove unrelated information that already exists elsewhere
  • Swap out outdated "contributing committers" reference for the CMS Squad (we're publicly using that terminology already)
  • update "house rules" to reflect the things we actually do now

Issue

Comment on lines -67 to -74
### Triage

Triage of issues and pull request is an important activity: Reviewing issues, adding labels,
closing stale issues, etc. This does not require write access to the repository as a "Contributing Committer".
This is a great way for active community members to help out, and start a path towards becoming a Core Committer.

Triage roles may be granted by any Core Committer,
who should give other Core Committers an opportunity to weigh in on the decision.
Copy link
Member Author

Choose a reason for hiding this comment

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

We don't have a standalone triage role at the moment. We might again in the future - if that happens, we can re-document it.

Comment on lines -58 to -64
* Complex or impactful changes need to be reviewed and approved by one or more Core Committers. This includes any additions, removals or changes to commonly used APIs. If that's not possible in the team, ping `@silverstripe/core-team` to get other Core Committers involved.
* For these complex or impactful changes, Core Committers should be given 1-2 working days to review. Ideally at this point, the API has already been agreed on through issue comments outlining the planned work (see [RFC Process](request_for_comment]).
* More straightforward changes (e.g. documentation, styling) or areas which require quite specialised expertise (e.g. React) that's less available through most Core Committers can be approved or merged by team members who aren't Core Committers.
* Self-merges should be avoided, but are preferable to having work go stale or forcing other team members to waste time by context switching into a complex review (e.g. because the original reviewer went on leave). Any self-merge should be accompanied by a comment why this couldn't be handled in another way, and a (preferably written) approval from another team member.

This role may be granted by any Core Committer,
who should give other Core Committers an opportunity to weigh in on the decision.
Copy link
Member Author

@GuySartorelli GuySartorelli Oct 18, 2023

Choose a reason for hiding this comment

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

CMS Squad work doesn't tend to get reviewed by core committers (except in-so-far as there are core committers in the CMS Squad), and enforcing that requirement would introduce a massive bottleneck to getting any changes in.

Comment on lines -22 to -39
## What is Silverstripe Core

Silverstripe CMS is powered by a system of components in the form of Composer packages. These packages will be categorised as either a _module_ or a _recipe_.

The "core" of Silverstripe refers to the module packages owned by the "silverstripe" Packagist vendor that fall under one of the following recipes:

* [silverstripe/recipe-core](https://github.com/silverstripe/recipe-cms)
* [silverstripe/recipe-cms](https://github.com/silverstripe/recipe-cms)
* [silverstripe/installer](https://github.com/silverstripe/silverstripe-installer)

## What are Supported Modules

In addition to Silverstripe Core, there are many [Supported Modules](https://www.silverstripe.org/software/addons/supported-modules-definition/)
which have the backing of Silverstripe Ltd. While it's a good idea to apply the rules outlined in this document,
work on these modules is guided by the
[Supported Modules Standard](https://www.silverstripe.org/software/addons/supported-modules-definition/).
Commit access in Supported Modules is handled by agreement of the repository maintainers,
or any additional guidelines outlined via `README` and `CONTRIBUTING` files.
Copy link
Member Author

@GuySartorelli GuySartorelli Oct 18, 2023

Choose a reason for hiding this comment

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

This is all documented in the dedicated supported modules page now

* Treat issues according to our [issue guidelines](/contributing/issues_and_bugs/), and use the [triage resources](/contributing/triage_resources/)
* Don't commit directly to a release branch, raise pull requests instead
* Only merge code you have tested and fully understand. If in doubt, ask for a second opinion.
* Follow the [Supported Modules Standard](https://www.silverstripe.org/software/addons/supported-modules-definition/)
Copy link
Member Author

Choose a reason for hiding this comment

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

Follow the Supported Modules Standard

We don't really follow that, most likely - but as long as that page exists, I don't think we should stop referring to it. We should instead holistically reconsider how we approach supported modules.

* Be friendly, encouraging and constructive towards other community members
* Frequently review pull requests and new issues (in particular, respond quickly to @mentions)
* Treat issues according to our [issue guidelines](/contributing/issues_and_bugs/), and use the [triage resources](/contributing/triage_resources/)
* Don't commit directly to a release branch, raise pull requests instead
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* Don't commit directly to a release branch, raise pull requests instead
* Don't commit directly to existing branches, raise pull requests instead

Copy link
Member Author

Choose a reason for hiding this comment

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

Done - and moved the "Use forks to create feature branches for pull requests" guidelines to be directly following this one

* Ensure contributions have appropriate [test coverage](/developer_guides/testing/), are documented, and adhere to our [coding conventions](/getting_started/coding_conventions/)
* Keep the codebase "releasable" at all times (check our [release process](/contributing/release_process/))
* Follow [Semantic Versioning](/contributing/code/#picking-the-right-version) by putting any changes into the correct branch
* Public API changes and non-trivial features should not be merged into release branches.
Copy link
Member

Choose a reason for hiding this comment

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

Suggested change
* Public API changes and non-trivial features should not be merged into release branches.
* Public API changes and non-trivial features should merged into the branch for the next minor release, not patch release branches

Copy link
Member Author

Choose a reason for hiding this comment

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

That's not the intent - changing to specify breaking API changes as per #383 (comment)

Copy link
Member Author

Choose a reason for hiding this comment

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

Actually I've just removed this point altogether, since it's covered in Follow [Semantic Versioning](/contributing/code/#picking-the-right-version) by putting any changes into the correct branch above that.

@GuySartorelli GuySartorelli force-pushed the pulls/4.13/maintainer-guidelines branch from b6e77ca to ca972af Compare October 24, 2023 22:13
Copy link
Member

@emteknetnz emteknetnz left a comment

Choose a reason for hiding this comment

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

Merge conflict

- don't use brand icon
- update language to reflect current state of affairs
- update links (looks like this used to be in "contributing" and the links didn't get updated when it moved)
- Remove unrelated information that already exists elsewhere
- Swap out outdated "contributing committers" reference for the CMS Squad (we're publicly using that terminology already)
- update "house rules" to reflect the things we actually do now
@GuySartorelli GuySartorelli force-pushed the pulls/4.13/maintainer-guidelines branch from ca972af to 26497c1 Compare October 24, 2023 23:35
@GuySartorelli
Copy link
Member Author

Rebased and resolved

@emteknetnz emteknetnz merged commit 3dcdc18 into silverstripe:4.13 Oct 24, 2023
@emteknetnz emteknetnz deleted the pulls/4.13/maintainer-guidelines branch October 24, 2023 23:48
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