You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We welcome contributions and are happy to discuss ideas, answer questions, and help you get started.
6
+
7
+
**Before opening a pull request**, please open an issue or start a discussion with the maintainers. This helps us:
8
+
- Ensure the change aligns with the project's direction
9
+
- Avoid duplicate or conflicting work
10
+
- Provide guidance on implementation approach
11
+
12
+
We're friendly and responsive—don't hesitate to reach out!
13
+
14
+
## Commit and PR linting
4
15
We require pull request titles to follow the Conventional Commits specification and we also encourage individual commits to adher to that.
5
16
6
17
We use "squash merge" and any merge PR title will show up in the changelog based on the title.
7
18
8
-
###Testing
19
+
## Testing
9
20
We ask you to write well covered unit tests with your changes. To run tests:
10
21
```shell
11
22
mvn verify
12
23
```
13
24
As part of the CI pipeline, tests will run on java version 11 and 17.
14
25
15
-
###Formatting
26
+
## Formatting
16
27
17
28
Please make sure you format your code according to [google-java-format](https://github.com/google/google-java-format) before making a PR.
18
29
There are CI checks using [fmt](https://github.com/spotify/fmt-maven-plugin) that will fail otherwise.
@@ -22,19 +33,19 @@ You can use `fmt` to format your code using:
22
33
mvn com.spotify.fmt:fmt-maven-plugin:format
23
34
```
24
35
25
-
###Signing
36
+
## Signing
26
37
Maven is configured to sign the generated artifacts using GPG. This is a security measure required for uploading to Maven Central.
27
38
28
39
Signing passphrases are securely stored in Github's CI, but the signing operation is not needed when developing locally and can always
29
40
be skipped via the argument `-Dgpg.skip`
30
41
31
-
###Releasing
42
+
## Releasing
32
43
Github Actions are set up that are able to:
33
44
- Create automated PRs to manage new Github tags/releases
34
45
- Manage versioning automatically (including the `pom.xml` file)
35
46
- Upload the generated artifacts to Maven Central **Staging**
36
47
37
48
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.
38
49
39
-
####After realeasing
50
+
### After realeasing
40
51
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.
0 commit comments