Skip to content

Latest commit

 

History

History
113 lines (73 loc) · 3.18 KB

CONTRIBUTING.md

File metadata and controls

113 lines (73 loc) · 3.18 KB

CONTRIBUTING

RESOURCES

If you wish to contribute to joind.in, please be sure to read/subscribe to the following resources:

What to work on

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.

Pull-Request workflow

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.

GitHub Actions

We are using GitHub Actions as a continuous integration system.

For details, see .github/workflows/continuous-integration.yml.

Coding Standards

We are using friendsofphp/php-cs-fixer to enforce coding standards.

Run

$ composer cs

to automatically fix coding standard violations.

Static Code Analysis

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.

Tests

We are using phpunit/phpunit to drive the development.

Run

$ composer test

to run all the tests.

Code Coverage

We are collecting code coverage from running tests with phpunit/phpunit.

Enable Xdebug and run

$ composer coverage

to collect code coverage from running tests.