93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			93 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Contributing to beego
 | |
| 
 | |
| beego is an open source project.
 | |
| 
 | |
| It is the work of hundreds of contributors. We appreciate your help!
 | |
| 
 | |
| Here are instructions to get you started. They are probably not perfect, 
 | |
| please let us know if anything feels wrong or incomplete.
 | |
| 
 | |
| ## Prepare environment
 | |
| 
 | |
| Firstly, install some tools. Execute those commands **outside** the project. Or those command will modify go.mod file.
 | |
| 
 | |
| ```shell script
 | |
| go get -u golang.org/x/tools/cmd/goimports
 | |
| 
 | |
| go get -u github.com/gordonklaus/ineffassign
 | |
| ```
 | |
| 
 | |
| Put those lines into your pre-commit githook script:
 | |
| ```shell script
 | |
| goimports -w -format-only ./
 | |
| 
 | |
| ineffassign .
 | |
| 
 | |
| staticcheck -show-ignored -checks "-ST1017,-U1000,-ST1005,-S1034,-S1012,-SA4006,-SA6005,-SA1019,-SA1024" ./
 | |
| ```
 | |
| 
 | |
| ## Prepare middleware
 | |
| 
 | |
| Beego uses many middlewares, including MySQL, Redis, SSDB and so on.
 | |
| 
 | |
| We provide docker compose file to start all middlewares.
 | |
| 
 | |
| You can run:
 | |
| ```shell script
 | |
| docker-compose -f scripts/test_docker_compose.yml up -d
 | |
| ```
 | |
| Unit tests read addresses from environment, here is an example:
 | |
| ```shell script
 | |
| export ORM_DRIVER=mysql
 | |
| export ORM_SOURCE="beego:test@tcp(192.168.0.105:13306)/orm_test?charset=utf8"
 | |
| export MEMCACHE_ADDR="192.168.0.105:11211"
 | |
| export REDIS_ADDR="192.168.0.105:6379"
 | |
| export SSDB_ADDR="192.168.0.105:8888"
 | |
| ```
 | |
| 
 | |
| 
 | |
| ## Contribution guidelines
 | |
| 
 | |
| ### Pull requests
 | |
| 
 | |
| First of all. beego follow the gitflow. So please send you pull request 
 | |
| to **develop-2** branch. We will close the pull request to master branch.
 | |
| 
 | |
| We are always happy to receive pull requests, and do our best to
 | |
| review them as fast as possible. Not sure if that typo is worth a pull
 | |
| request? Do it! We will appreciate it.
 | |
| 
 | |
| Don't forget to rebase your commits!
 | |
| 
 | |
| If your pull request is not accepted on the first try, don't be
 | |
| discouraged! Sometimes we can make a mistake, please do more explaining 
 | |
| for us. We will appreciate it.
 | |
| 
 | |
| We're trying very hard to keep beego simple and fast. We don't want it
 | |
| to do everything for everybody. This means that we might decide against
 | |
| incorporating a new feature. But we will give you some advice on how to 
 | |
| do it in other way.
 | |
| 
 | |
| ### Create issues
 | |
| 
 | |
| Any significant improvement should be documented as [a GitHub
 | |
| issue](https://github.com/astaxie/beego/issues) before anybody
 | |
| starts working on it. 
 | |
| 
 | |
| Also when filing an issue, make sure to answer these five questions:
 | |
| 
 | |
| - What version of beego are you using (bee version)?
 | |
| - What operating system and processor architecture are you using?
 | |
| - What did you do?
 | |
| - What did you expect to see?
 | |
| - What did you see instead?
 | |
| 
 | |
| ### but check existing issues and docs first!
 | |
| 
 | |
| Please take a moment to check that an issue doesn't already exist
 | |
| documenting your bug report or improvement proposal. If it does, it
 | |
| never hurts to add a quick "+1" or "I have this problem too". This will
 | |
| help prioritize the most common problems and requests.
 | |
| 
 | |
| Also, if you don't know how to use it. please make sure you have read through
 | |
| the docs in http://beego.me/docs |