The following is a set of guidelines for contributing to the project. Please take a moment to read through them before submitting your first PR.
This project and everyone participating in it are governed by the Code of Conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to [email protected].
- Reporting issues with existing features
- Bug fixes
- Performance improvements
- Documentation
- Usability Improvements
- Additional dependencies that limit sdk use (e.g. android dependencies)
- Any changes that break existing tests
- Any changes without sufficient tests
When in doubt about whether we will be interested in including a new feature in this project, please open an issue to propose the feature so we can confirm the feature should be in scope for the project before it is implemented.
NOTE: Issues that have not been active for 30 days will be marked as stale, and subsequently closed after a further 7 days of inactivity.
- Fork the repo and branch off of main
- Create a feature branch in your fork
- Make changes and add any relevant tests
- Verify the changes locally (e.g. via the sample app)
- Commit your changes and push
- Ensure all checks (e.g. tests) are passing in GitHub
- Create a new pull request with a detailed description of what is changing and why
Open a pull request with the following changes:
- Bump the versionName
- Add an entry to the top of the CHANGELOG
Once you have merged a pull request with these changes, you will be ready to publish a new version.
To do so, navigate to https://github.com/Shopify/checkout-sheet-kit-android/releases and click "Draft a new release" then complete the following steps:
- Create a tag for the new version
- Use the same tag as the name for the version
- Document a full list of changes since the previous release, tagging merged pull requests where applicable, in the description box
- Check "Set as the latest release"
- When ready click "Publish release"
This will trigger a GitHub workflow to start the process of publishing a new version of the library to maven central. Note - A manual approval by a maintainer is required before release to maven central.