Skip to content

Update dev docs with recent information on how to run tests#240

Merged
PGijsbers merged 2 commits intomainfrom
update-dev-doc
Feb 15, 2026
Merged

Update dev docs with recent information on how to run tests#240
PGijsbers merged 2 commits intomainfrom
update-dev-doc

Conversation

@PGijsbers
Copy link
Contributor

No description provided.

@coderabbitai
Copy link
Contributor

coderabbitai bot commented Feb 15, 2026

Caution

Review failed

The pull request is closed.

Walkthrough

This pull request updates contributing and installation documentation to match changes in the Docker Compose-based development setup: replaces docker compose up with docker compose --profile all up -d, renames containers to openml-php-rest-api and openml-python-rest-api, adds an openml-elasticsearch container and ARM/Rosetta note, documents pytest-based full test-suite invocation with markers (php_api, python_api, slow), provides examples for minimal-profile container runs, and adds a link from the Installation doc to the Contributing guide. (≈70 words)

Possibly related PRs

🚥 Pre-merge checks | ✅ 3 | ❌ 1
❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Description check ❓ Inconclusive No pull request description was provided by the author, making it impossible to assess whether it relates to the changeset. Add a pull request description explaining the changes, such as updated container names, new testing practices, and how to run the test suite.
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The pull request title accurately summarizes the main change: updating developer documentation with information about running tests, which aligns with the extensive changes to contributing.md covering test execution.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Merge Conflict Detection ✅ Passed ✅ No merge conflicts detected when merging into main

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch update-dev-doc

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Contributor

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 5 issues, and left some high level feedback:

  • There are a couple of small wording/typo issues in the new docs (e.g. There three important... should be There are three important..., implemting -> implementing, and Elastic search is usually written Elasticsearch) that would be good to clean up for clarity.
  • The description for the php_api marker currently ends with These are tests which and seems incomplete; consider finishing that sentence so readers understand exactly what distinguishes those tests.
Prompt for AI Agents
Please address the comments from this code review:

## Overall Comments
- There are a couple of small wording/typo issues in the new docs (e.g. `There three important...` should be `There are three important...`, `implemting` -> `implementing`, and `Elastic search` is usually written `Elasticsearch`) that would be good to clean up for clarity.
- The description for the `php_api` marker currently ends with `These are tests which` and seems incomplete; consider finishing that sentence so readers understand exactly what distinguishes those tests.

## Individual Comments

### Comment 1
<location> `docs/contributing/contributing.md:48` </location>
<code_context>
     For example, visit [http://localhost:8002/api/v1/json/data/1](http://localhost:8002/api/v1/json/data/1)
     to fetch a JSON description of dataset 1.
- - `python-api`: this container serves the new Python-based REST API at `localhost:8001`.
+ - `openml-elasticsearch`: Elastic search, required for the PHP REST API to function.
+ - `openml-python-rest-api`: this container serves the new Python-based REST API at `localhost:8001`.
     For example, visit [http://localhost:8001/docs](http://localhost:8001/docs) to see
</code_context>

<issue_to_address>
**suggestion (typo):** Use the correct product name "Elasticsearch" instead of "Elastic search".

For consistency with the container name (`openml-elasticsearch`) and the official product name, please change "Elastic search" to "Elasticsearch".

Suggested implementation:

```
 - `openml-elasticsearch`: Elasticsearch, required for the PHP REST API to function.

```

```
    On arm-based Macs, you need to enable Rosetta emulation for Docker for the Elasticsearch container to work.

```
</issue_to_address>

### Comment 2
<location> `docs/contributing/contributing.md:54-55` </location>
<code_context>
     the REST API documentation. Changes to the code in `src/` will be reflected in this
     container.

+!!! note
+    On arm-based Macs, you need to enable Rosetta emulation for Docker for the Elastic Search container to work.
+
+We can now run the full test suite, which takes about 4 minutes:
</code_context>

<issue_to_address>
**suggestion (typo):** Consistently spell the product name as "Elasticsearch".

Here it’s written as "Elastic Search"; please change this to "Elasticsearch" to match the official name.

Suggested implementation:

```
 - `openml-elasticsearch`: Elasticsearch, required for the PHP REST API to function.

```

```
!!! note
    On arm-based Macs, you need to enable Rosetta emulation for Docker for the Elasticsearch container to work.

```
</issue_to_address>

### Comment 3
<location> `docs/contributing/contributing.md:62` </location>
<code_context>
+```bash
+docker exec openml-python-rest-api python -m pytest tests
+```
+There three important [test markers](https://docs.pytest.org/en/7.1.x/example/markers.html) to be aware of:
+
+ - `php_api`: all tests that require the PHP API container. These are tests which
</code_context>

<issue_to_address>
**issue (typo):** Add the missing verb in "There three important...".

This reads as if a word is missing; please change to "There are three important [test markers]...".

```suggestion
There are three important [test markers](https://docs.pytest.org/en/7.1.x/example/markers.html) to be aware of:
```
</issue_to_address>

### Comment 4
<location> `docs/contributing/contributing.md:68` </location>
<code_context>
+ - `python_api`: all tests that require the Python API container. That's almost all of them.
+ - `slow`: for long-running tests. Currently only one test.
+
+In many cases during development it's sufficient to either run with `not php_api and not slow` when initially adding the endpoint and implemting its response, or later `php_api and not slow` when working on the 'migration' tests that validate against the old PHP API.
+The `not slow` is only needed if a slow test would be included in your test selection. In many cases, you might prefer to only run the specific tests (or test modules) that you are working on and excluding it through markers may be unnecessary.
+Examples:
</code_context>

<issue_to_address>
**issue (typo):** Fix the typo "implemting" to "implementing".

Typo: change "implemting" to "implementing".

```suggestion
In many cases during development it's sufficient to either run with `not php_api and not slow` when initially adding the endpoint and implementing its response, or later `php_api and not slow` when working on the 'migration' tests that validate against the old PHP API.
```
</issue_to_address>

### Comment 5
<location> `docs/contributing/contributing.md:119` </location>
<code_context>
+python -m pytest -v -x --lf -m "not php_api"
 ```

 Where `-v` show the name of each test ran, `-x` ensures testing stops on first failure,
-`--lf` will first run the test(s) which failed last, and `-m "not web"` specifies
-which tests (not) to run.
</code_context>

<issue_to_address>
**suggestion (typo):** Fix subject-verb agreement and past participle in "show" and "ran".

Consider: "Where `-v` shows the name of each test run, `-x` ensures testing stops on the first failure."

```suggestion
Where `-v` shows the name of each test run, `-x` ensures testing stops on the first failure,
```
</issue_to_address>

Sourcery is free for open source - if you like our reviews please consider sharing them ✨
Help me be more useful! Please click 👍 or 👎 on each comment and I'll use the feedback to improve your reviews.

Copy link
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 2

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
docs/contributing/contributing.md (1)

28-29: ⚠️ Potential issue | 🟡 Minor

Fix typo: “projected” → “project” (or “project is”).

This reads incorrectly and is confusing in setup instructions.

✅ Suggested edit
-With the projected forked, cloned, and installed, the easiest way to set up all
+With the project forked, cloned, and installed, the easiest way to set up all
🤖 Fix all issues with AI agents
In `@docs/contributing/contributing.md`:
- Line 73: Remove the trailing space inside the inline code span containing the
pytest command so the fenced text reads `docker exec openml-python-rest-api
python -m pytest tests/routers/openml/dataset_tag_test.py` (no trailing space);
edit the contributing.md line that currently has `dataset_tag_test.py ` to
remove the extra space character within the backticks to satisfy markdownlint
MD038.
- Around line 62-68: Fix typos and tighten the test marker paragraph: change
“There three important” to “There are three important” (or “Three important”),
correct “implemting” to “implementing”, and rephrase the final sentence for
clarity (e.g. recommend running tests with `not php_api and not slow` during
initial endpoint work, and `php_api and not slow` when working on migration
tests). Update the three marker bullets (`php_api`, `python_api`, `slow`) if
needed to keep wording concise and consistent.

@PGijsbers PGijsbers merged commit 97557d2 into main Feb 15, 2026
2 of 3 checks passed
@PGijsbers PGijsbers deleted the update-dev-doc branch February 15, 2026 20:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant