From e24d23b250de84e1fc4dfae3f46ef75650d1b2d8 Mon Sep 17 00:00:00 2001 From: Nicklas Lundin Date: Wed, 28 Jan 2026 09:05:28 +0100 Subject: [PATCH] docs: add getting involved section to contribution guidelines --- CONTRIBUTING.md | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c7101898..61aac166 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,18 +1,29 @@ -## Contributing +# Contributing -### Commit and PR linting +## Getting Involved + +We welcome contributions and are happy to discuss ideas, answer questions, and help you get started. + +**Before opening a pull request**, please open an issue or start a discussion with the maintainers. This helps us: +- Ensure the change aligns with the project's direction +- Avoid duplicate or conflicting work +- Provide guidance on implementation approach + +We're friendly and responsive—don't hesitate to reach out! + +## Commit and PR linting We require pull request titles to follow the Conventional Commits specification and we also encourage individual commits to adher to that. We use "squash merge" and any merge PR title will show up in the changelog based on the title. -### Testing +## Testing We ask you to write well covered unit tests with your changes. To run tests: ```shell mvn verify ``` As part of the CI pipeline, tests will run on java version 11 and 17. -### Formatting +## Formatting Please make sure you format your code according to [google-java-format](https://github.com/google/google-java-format) before making a PR. There are CI checks using [fmt](https://github.com/spotify/fmt-maven-plugin) that will fail otherwise. @@ -22,13 +33,13 @@ You can use `fmt` to format your code using: mvn com.spotify.fmt:fmt-maven-plugin:format ``` -### Signing +## Signing Maven is configured to sign the generated artifacts using GPG. This is a security measure required for uploading to Maven Central. Signing passphrases are securely stored in Github's CI, but the signing operation is not needed when developing locally and can always be skipped via the argument `-Dgpg.skip` -### Releasing +## Releasing Github Actions are set up that are able to: - Create automated PRs to manage new Github tags/releases - Manage versioning automatically (including the `pom.xml` file) @@ -36,5 +47,5 @@ Github Actions are set up that are able to: In order to promote an uploaded version from **Staging** to **Release** (hence making it openly available on [Maven Central Search](https://central.sonatype.com/)) a user with the right credentials must login into the the [Sonatype UI](https://oss.sonatype.org/#welcome) and perform the release process manually. -#### After realeasing +### After realeasing After a release PR is merged, the main branch will stay at the release version (non-snapshot) until updated. Release please will create a PR ([example](https://github.com/spotify/confidence-sdk-java/pull/55)) that does this "snapshot bump". The recommendation is to merge that PR directly when possible.