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

Intial draft for maintainer doc #608

Merged
merged 4 commits into from
Jun 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
58 changes: 58 additions & 0 deletions docs/contributing/maintainers-guide.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# Maintainers Guide

This page offers guidance to project maintainers regarding our setup procedures, release processes, package creation, and other related tasks.

## Maintainer Onboarding and Best Practices

### Becoming a Maintainer or Triager

If you are interested in becoming a maintainer, you can join our community. Maintainers have several important responsibilities, so please read on to understand the role.

Also, if you're interested in helping managing issues with labels and interacting with incoming requests, you can have a "triager" role!

To get permissions, please start by participating on GitHub by answering questions, reviewing PRs, or contributing code or documentation. Once you're feeling comfortable, you can ask any of our maintainers for permissions by `@`ing them on GitHub.

### Maintainer Responsibilities and Expectations

1. As a maintainer, there is no strict time obligation, as we understand that everyone's ability to commit can fluctuate. However, we do expect maintainers to communicate openly and transparently with the team and the community.

2. As a maintainer, you are expected to uphold a positive and inclusive team culture. This includes following the guidelines outlined in the [Openscapes team culture page](https://openscapes.github.io/series/core-lessons/team-culture.html) and the [recorded psychological safety talk](https://www.youtube.com/watch?v=rzi-qkl8u5M) . By doing so, you can help ensure that all team members and contributors feel safe, respected, and valued.


### Maintainer Processes Beyond Regular Contributing

1. As a maintainer, label issues clearly and consistently to help contributors identify issue types and priority. Use 'good first issue' for contributor-friendly issues.

2. As a maintainer, create welcoming environment when communicating with contributors (issue / PR / discussion posters).

3. As a maintainer reviewing and merging contributions is critical. Here are some best practices:

3a. Review contributions thoroughly.

3b. Provide constructive feedback.

3c. Communicate clearly and respectfully.

3d. Merge contributions promptly.

4. As a maintainer, you will be releasing different versions. More on this in [here](./releasing.md).

## Branches

main: This is the main branch, which is consistently tested and prepared for release as a new version. Avoid pushing changes directly to this branch. Instead, create a new branch and submit a pull request for any modifications.


## Continuous Integration & Delivery

The GitHub Actions CI services handle the project's building, testing, and management across Linux, macOS, and Windows platforms. The CI configuration files can be found in the `./.github/workflows/`. Here we briefly summarize the functions of the files in the `./ci/` directory.

`environment-dev.yml` - The environment configuration file specifies dependencies for Python development.

`environment-mindeps.yaml`- Specifies an environment with the minimum supported dependency versions to detect backwards-incompatible code.

## Continuous Documentation

[ReadTheDocs](https://readthedocs.org/projects/earthaccess/) is used to generate and host [our documentation website](https://earthaccess.readthedocs.io/) as well as the preview for documentation changes made in pull requests. This service uses a configuration file in the root of the project, `.readthedocs.yml`.



1 change: 1 addition & 0 deletions mkdocs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,7 @@ nav:
- "Development": "contributing/development.md"
- "Releasing": "contributing/releasing.md"
- "Our meet-ups": "contributing/our-meet-ups.md"
- "Maintainers Guide": "contributing/maintainers-guide.md"
- "Code of Conduct": "contributing/code-of-conduct.md"
- "Resources": "resources.md"
- USER GUIDE:
Expand Down
Loading