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
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+20-1Lines changed: 20 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Most tests require you to [run a mock server](https://github.com/stoplightio/pri
40
40
./scripts/mock --daemon
41
41
```
42
42
43
-
The mock serer will run in the background allowing you to run tests from the command line `./gradlew test` or from your IDE.
43
+
The mock server will run in the background allowing you to run tests from the command line `./gradlew test` or from your IDE.
44
44
45
45
To stop the mock server run:
46
46
```shell
@@ -62,3 +62,22 @@ To format and fix all issues automatically:
62
62
```sh
63
63
$ ./scripts/format
64
64
```
65
+
66
+
## Release and pull request process
67
+
68
+
As mentioned above, most of the code in this repository is generated. So the pull requests process may different from what you are expecting. Here are the steps:
69
+
70
+
- Custom code changes should target the `next` branch in [`ArcadeAI/arcade-java`](https://github.com/arcadeai/arcade-java).
71
+
- Be selective on what you are changing, as this may cause [merge conflicts](https://www.stainless.com/docs/sdks/configure/custom-code) with the generated code.
72
+
- Create a new pull request against `next`, CI will build and test it.
73
+
- Once it is merged to `next`, and when there have been upstream changes to the OpenAPI spec, you will see a pull request titled "release: <version>" (where `<version>` is the next version to be released)
74
+
- Review it, most of the changes will have been generated, make sure the changes from your pull request are included.
75
+
- Approve the PR, and merge it.
76
+
- The `next` branch will be rebased to `main`, so you will need to rewrite the branch, something like: `git fetch origin next && git reset --hard origin/next`
77
+
- Once changes are merged to `main` a CI job will deploy the version to [Maven Central](https://central.sonatype.com/search?q=arcade-java). There may be a delay between the time it is published until the time it shows up in the Maven Central search results.
78
+
79
+
## Troubleshooting tips
80
+
81
+
If you are running into issues deploying to Maven Central, run the [`Release Doctor`](https://github.com/ArcadeAI/arcade-java/actions/workflows/release-doctor.yml) CI job, this will check that the required environment variables are set correctly.
82
+
83
+
The [`CI` workflow](https://github.com/ArcadeAI/arcade-java/blob/main/.github/workflows/ci.yml), includes a couple of `if` statments that look like: `github.repository == 'stainless-sdks/arcade-engine-java'`. These are ONLY used for pre-release builds when the Stainless SDK code is generated. These are NOT used currently (in the future if there are multiple Java project repositories, this Maven repository could be used to test nightly builds). Otherwise, [build from source](#building-the-repository-from-source).
0 commit comments