If you wish to contribute to joind.in, please be sure to read/subscribe to the following resources:
- Contributor Code of Conduct: https://github.com/joindin/joindin-api/CODE_OF_CONDUCT.md
- Contributor's Guide: https://github.com/joindin/joind.in/wiki/How-to-Contribute-Code
- Contributor's mailing list: http://groups.google.com/group/joindin-developers
- Contributor's IRC channel: #joind.in on Freenode.net
You should work on what you want to. Our bug tracker is here: https://joindin.jira.com
Any issues that have the "easypick" label are ones that we think are a good starting point. This JIRA filter will give you the list of all current open issues with the "easypick" label.
If you have any problems, ask on the IRC channel or send an email to the mailing list.
When you open a PR, ensure that you enter the issue code from JIRA into your PR description, where applicable. This helps the systems to link what code goes with which issue and makes it easier for us to know what has changed for the issue. For example: JOINDIN-123. This JIRA code can be found above the issue title on the issue view screen in JIRA.
Once you have submitted the PR, people will look at it and provide feedback. If it cannot be applied in its current state, then a comment will be left and the PR will then be closed. This is because the PR queue represents all pull requests that are ready to be applied. That is, the PR queue is not used as a work-in-progress list.
When you have time to address the comments left on your PR, please make the changes, push them to github and then re-open the pull request.
We are using GitHub Actions as a continuous integration system.
For details, see .github/workflows/continuous-integration.yml
.
We are using friendsofphp/php-cs-fixer
to enforce coding standards.
Run
$ composer cs
to automatically fix coding standard violations.
We are using phpstan/phpstan
to statically analyze the code.
Run
$ composer stan
to run a static code analysis.
We are also using the baseline feature of phpstan/phpstan
.
Run
$ composer stan-baseline
to regenerate the baseline in phpstan-baseline.neon
.
❗ Ideally, the baseline should shrink over time.
We are using phpunit/phpunit
to drive the development.
Run
$ composer test
to run all the tests.
We are collecting code coverage from running tests with phpunit/phpunit
.
Enable Xdebug and run
$ composer coverage
to collect code coverage from running tests.