Conversation
Add missing gradle toolchain dependencies to the list of Java version requirements, both in CONTRIBUTING.md and mise.toml. Fix test instructions in CONTRIBUTING.md, which incorrectly state that a temporal server needs to be running during tests. Explain how to run the tests that *do* require a temporal server.
|
|
||
| ```bash | ||
| ./gradlew build | ||
| USE_DOCKER_SERVICE=true ./gradlew test |
There was a problem hiding this comment.
The environment variable name predate being able to start the Temporal server with the CLI, so docker was the main way to run the Temporal server locally, but we should probably update it now (doesn't need to be in this PR just adding some historical context)
There was a problem hiding this comment.
Sure, I can easily add that to the PR. You're not worried about Hyrum's law? https://xkcd.com/1172/
There was a problem hiding this comment.
Not very worried, generally we at Temporal are the only people doing consistent active dev work on the Java SDK.
There was a problem hiding this comment.
I've gone ahead and renamed it in this PR.
| By default, integration tests run against the built-in time-skipping test server. Some tests require features that the built-in server doesn't support; those tests will be skipped. To run the skipped tests: | ||
|
|
||
| 1. Install the [temporal CLI](https://docs.temporal.io/cli#installation), which comes with a built-in dev server. | ||
| 2. Find the flags that the dev server will need to run the tests by grepping for `temporal server` in [./github/workflows/ci.yml](./github/workflows/ci.yml). | ||
| 3. Start the server: | ||
| ```bash | ||
| temporal server start-dev --YOUR-FLAGS-HERE | ||
| ``` | ||
| 4. Set the `USE_EXTERNAL_SERVICE` environment variable and run the tests: | ||
| ```bash | ||
| ./gradlew build | ||
| USE_EXTERNAL_SERVICE=true ./gradlew test |
There was a problem hiding this comment.
@Quinn-With-Two-Ns Totally agree with the nitpick. How's this?
What was changed
Updated CONTRIBUTING.md and mise.toml, adding missing gradle toolchain dependencies.
Also fixed test instructions in CONTRIBUTING.md, which incorrectly state that a temporal server needs to be running during tests. Explained how to run the tests that do require a temporal server.
Why?
The project wouldn't build when following the old instructions. The instructions were also omitting some tests that require a temporal server to be running.