gtsocial-umbx

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs | README | LICENSE

CONTRIBUTING.md (3682B)


      1 # How to Contribute
      2 
      3 ## Your First Pull Request
      4 We use GitHub for our codebase. You can start by reading [How To Pull Request](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests).
      5 
      6 ## Without Semantic Versioning
      7 We keep the stable code in branch `main` like `golang.org/x`. Development base on branch `develop`. We promise the **Forward Compatibility** by adding new package directory with suffix `v2/v3` when code has break changes.
      8 
      9 ## Branch Organization
     10 We use [git-flow](https://nvie.com/posts/a-successful-git-branching-model/) as our branch organization, as known as [FDD](https://en.wikipedia.org/wiki/Feature-driven_development)
     11 
     12 
     13 ## Bugs
     14 ### 1. How to Find Known Issues
     15 We are using [Github Issues](https://github.com/bytedance/sonic/issues) for our public bugs. We keep a close eye on this and try to make it clear when we have an internal fix in progress. Before filing a new task, try to make sure your problem doesn’t already exist.
     16 
     17 ### 2. Reporting New Issues
     18 Providing a reduced test code is a recommended way for reporting issues. Then can be placed in:
     19 - Just in issues
     20 - [Golang Playground](https://play.golang.org/)
     21 
     22 ### 3. Security Bugs
     23 Please do not report the safe disclosure of bugs to public issues. Contact us by [Support Email](mailto:sonic@bytedance.com)
     24 
     25 ## How to Get in Touch
     26 - [Email](mailto:wudi.daniel@bytedance.com)
     27 
     28 ## Submit a Pull Request
     29 Before you submit your Pull Request (PR) consider the following guidelines:
     30 1. Search [GitHub](https://github.com/bytedance/sonic/pulls) for an open or closed PR that relates to your submission. You don't want to duplicate existing efforts.
     31 2. Be sure that an issue describes the problem you're fixing, or documents the design for the feature you'd like to add. Discussing the design upfront helps to ensure that we're ready to accept your work.
     32 3. [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the bytedance/sonic repo.
     33 4. In your forked repository, make your changes in a new git branch:
     34     ```
     35     git checkout -b bugfix/security_bug develop
     36     ```
     37 5. Create your patch, including appropriate test cases.
     38 6. Follow our [Style Guides](#code-style-guides).
     39 7. Commit your changes using a descriptive commit message that follows [AngularJS Git Commit Message Conventions](https://docs.google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit).
     40    Adherence to these conventions is necessary because release notes will be automatically generated from these messages.
     41 8. Push your branch to GitHub:
     42     ```
     43     git push origin bugfix/security_bug
     44     ```
     45 9. In GitHub, send a pull request to `sonic:main`
     46 
     47 Note: you must use one of `optimize/feature/bugfix/doc/ci/test/refactor` following a slash(`/`) as the branch prefix.
     48 
     49 Your pr title and commit message should follow https://www.conventionalcommits.org/.
     50 
     51 ## Contribution Prerequisites
     52 - Our development environment keeps up with [Go Official](https://golang.org/project/).
     53 - You need fully checking with lint tools before submit your pull request. [gofmt](https://golang.org/pkg/cmd/gofmt/) & [golangci-lint](https://github.com/golangci/golangci-lint)
     54 - You are familiar with [Github](https://github.com) 
     55 - Maybe you need familiar with [Actions](https://github.com/features/actions)(our default workflow tool).
     56 
     57 ## Code Style Guides
     58 See [Go Code Review Comments](https://github.com/golang/go/wiki/CodeReviewComments).
     59 
     60 Good resources:
     61 - [Effective Go](https://golang.org/doc/effective_go)
     62 - [Pingcap General advice](https://pingcap.github.io/style-guide/general.html)
     63 - [Uber Go Style Guide](https://github.com/uber-go/guide/blob/master/style.md)