- Clone repository or your fork locally
- Install sdk dependencies including dev with the following command
composer install
- Check that the current tests pass with the following command
php vendor/bin/phpunit
- Create feature branch
- Make changes. Please make sure that you don't break backward compatibility
- Add unit tests. Also add integration tests if needed
- Add new section to CHANGELOG.md with clear description. Please follow keepachangelog.com guide.
- Run
php vendor/bin/php-cs-fixer fix . --allow-risky=yes
before commit - Run tests before commit
php vendor/bin/phpunit
- Commit changes. Please use description of your patch from CHANGELOG.md for commit message.
- Push your changes to a feature branch
- Submit a pull request
- Assign pull request to one of core team members
- Add new command to guzzle3 service description config in src/API/Resources/api.php
- Add phpDocumentor DocBlocks with new methods to src/API/XsollaClient.php
- Add new tests to tests/Integration/API/
Version name should be in the following format vMAJOR.MINOR.PATCH
Please follow semver.org convention for new version choosing. If new changes don't contain new valuable features for end users or urgent bug fixes, then the new release is not needed.
- Merge all needed pull requests to master branch
- Change version in src/Version.php
- Set new version number instead Unreleased section name in CHANGELOG.md. Add New Unreleased section to top of the CHANGELOG.md file
- Create tag with version "vMAJOR.MINOR.PATCH" and push it (tag must be linked to merge commit)
- Review diff between new released version and master branch, include CHANGELOG.md
- Create new release at github
- Create new release draft with version name
- Copy release description from changelog
- Run
php build/packager.php
locally - Attach to release xsolla.zip, xsolla.phar from build/artifacts