Skip to content

Latest commit

 

History

History
74 lines (49 loc) · 2.4 KB

CONTRIBUTING.md

File metadata and controls

74 lines (49 loc) · 2.4 KB

Contributing

To start contributing to SumUp Open Source projects, please accept our Contributor License Agreement. Should you have any questions or concerns, please get in touch with [email protected].

Code of Conduct (CoC)

We want to foster an inclusive and friendly community around our Open Source efforts. Like all SumUp Open Source projects, this project follows the Contributor Covenant Code of Conduct. Please, read it and follow it.

If you feel another member of the community violated our CoC or you are experiencing problems participating in our community because of another individual's behavior, please get in touch with our maintainers. We will enforce the CoC.

Prerequisites

  • Signed and verified CLA
  • Elixir 1.9+

Common commands

Running the linter

> mix format

Running the tests

> mix test

Running the tests and display coverage report

> mix test --cover

Workflows

Submitting an issue

  1. Check existing issues and verify that your issue is not already submitted. If it is, it's highly recommended to add to that issue with your reports.

  2. Open issue

  3. Be as detailed as possible - elixir version, what did you do, what did you expect to happen, what actually happened.

Submitting a PR

  1. Find an existing issue to work on or follow Submitting an issue to create one that you're also going to fix. Make sure to notify that you're working on a fix for the issue you picked.
  2. Branch out from latest main.
  3. Code, add tests, run the formatter.
  4. Make sure that tests pass locally for you.
  5. Commit and push your changes in your branch.
  6. Submit a PR.
  7. Collaborate with the codeowners/reviewers to merge this in main.

Releasing

Rules

  1. Releases are only created from the main branch.
  2. main is meant to be stable, so before tagging a new release, make sure that the CI checks pass for main.
  3. Releases are GitHub releases.
  4. Release tags are following semantic versioning.
  5. Releases and tags are to be named in pattern of vX.Y.Z.
  6. Release descriptions must include a summary of all changes in the release

Flow

  1. Merge the (approved) changes into main
  2. Create a new GitHub Release from main with proper name (vX.Y.Z), tag (vX.Y.Z) and description (summary of changes)