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

PS-9255 Adding CONTRIBUTING.md file #5445

Open
wants to merge 1 commit into
base: 8.0
Choose a base branch
from

Conversation

lukin-oleksiy
Copy link
Contributor

PS-9255 Adding CONTRIBUTING.md file

https://perconadev.atlassian.net/browse/PS-9255

README.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
CONTRIBUTING.md Outdated Show resolved Hide resolved
* Contribute to [the documentation](https://github.com/percona/psmysql-docs/blob/innovation-release/contributing.md)
* Reach us on our [ Forums ](https://forums.percona.com/c/mysql-mariadb)

This document describes the workflow for submitting pull requests.
Copy link
Contributor

Choose a reason for hiding this comment

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

You should list the steps in the workflow.
As a user, I want to know the steps and how complicated this process is BEFORE I start.


As soon as Jira issue is submitted, you are ready to start coding.

## Working with the Source Code
Copy link
Contributor

Choose a reason for hiding this comment

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

Same thing - list the steps to work with the source code before I start.


### Before you start coding

In the cloned local repository checkout the "trunk" branch you are going to work on. For 8.0.X releases is 8.0. For
Copy link
Contributor

@patrickbirch patrickbirch Oct 17, 2024

Choose a reason for hiding this comment

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

Do we need a glossary - will the user automatically know these terms?

Very short definition of the issue
```

The next step is to compile the code in your new branch before making changes.
Copy link
Contributor

Choose a reason for hiding this comment

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

Should have a heading for each step - fork, compile, and so on.

```

The next step is to compile the code in your new branch before making changes.
At his point, you need to fetch third-party code which is organized as Git sub-modules. Go to the
Copy link
Contributor

Choose a reason for hiding this comment

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

this point


The Git will fetch required third-party modules into the source tree.

### First build of the source code
Copy link
Contributor

Choose a reason for hiding this comment

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

Build the source code or build the project? Unclear.


```

Compiling from a source requires patience. MySQL has many dependencies on different libraries. The good hint is to install build dependencies for the "upstream" version of MySQL.
Copy link
Contributor

Choose a reason for hiding this comment

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

This should be moved to "Compiling" header. The user needs to have an idea how long the process takes.


Another hint is to check [ documentation on compilation ](https://docs.percona.com/percona-server/8.0/compile-percona-server.html) .

If it does not help, we recommend a try and fail approach to installing the development packages.
Copy link
Contributor

Choose a reason for hiding this comment

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

Why would the user persist in compiling the code?

./mtr main.1st
```

### Coding ...
Copy link
Contributor

Choose a reason for hiding this comment

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

This is more about setting the debug environment.

tests to cover your specific case. For the introduction of new features, the development of a comprehensive test suite
is strongly recommended.

## Preparing the Pool Request
Copy link
Contributor

@patrickbirch patrickbirch Oct 17, 2024

Choose a reason for hiding this comment

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

Pull request - it says Pool Request

After finishing the tasks outlined above, you must prepare your branch for a pull request.
Please do not forget to run ``` git clang-format ``` on your code before pushing to the GitHub repository.

Then, squash all commits to one or a couple of logically consistent commits.
Copy link
Contributor

Choose a reason for hiding this comment

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

It's confusing. I understand squashing to one, but how do you squash to a couple of commits? What makes a commit logically consistent?

description. The second line is usually a link to the Jira issue. Then the short description follows. No need to write a
long description because you wrote one in the Jira issue.

Example of a pool request form:
Copy link
Contributor

Choose a reason for hiding this comment

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

Example of a pull request (not pool request)

```
PS-9876 Fix of the compression bug
```
Descriptopn:
Copy link
Contributor

Choose a reason for hiding this comment

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

Description


### Peer review

Peer review of the code always goes before PR merge. So, you have to add some core development team members in the "Reviewers" field of PR. Best guess is to assign the PR to Yura Sorokin, our team lead.
Copy link
Contributor

Choose a reason for hiding this comment

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

Just say add Yura as a reviewer.


Congratulations! You are now a recognized contributor.

## Your Code and MySQL Versions
Copy link
Contributor

Choose a reason for hiding this comment

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

Should be moved to the beginning. It's a little late to talk about versioning.

time.

We use a "train" approach. It means, that if some code is already in one of the "trunk" branches before the official
upstream release, it will be released in Percona's distribution of new release. So, if we are already in the process of
Copy link
Contributor

Choose a reason for hiding this comment

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

Confusing.
"it will be released in Percona's distribution of a new release" - we have a Distribution release - are you talking about that or what? What is a distribution of a new release?"

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