Skip to content

Comments

[MNT] Dockerized tests for CI runs using localhost#1629

Open
satvshr wants to merge 86 commits intoopenml:mainfrom
satvshr:i1614
Open

[MNT] Dockerized tests for CI runs using localhost#1629
satvshr wants to merge 86 commits intoopenml:mainfrom
satvshr:i1614

Conversation

@satvshr
Copy link
Contributor

@satvshr satvshr commented Jan 29, 2026

Metadata

Details

  • What does this PR implement/fix? Explain your changes.
    This PR implements the setting up of the v1 and v2 test servers in CI using docker via localhost.

PGijsbers and others added 11 commits January 20, 2026 12:35
Locally, MinIO already has more parquet files than on the test server.
Note that the previously strategy didn't work anymore if the server
returned a parquet file, which is the case for the new local setup.
This means it is not reliant on the evaluation engine processing the
dataset. Interestingly, the database state purposely seems to keep
the last task's dataset in preparation explicitly (by having
processing marked as done but having to dataset_status entry).
@codecov-commenter
Copy link

codecov-commenter commented Jan 29, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.55%. Comparing base (7feb2a3) to head (5f079ba).

Additional details and impacted files
@@             Coverage Diff             @@
##             main    #1629       +/-   ##
===========================================
+ Coverage   52.82%   67.55%   +14.73%     
===========================================
  Files          37       37               
  Lines        4371     4371               
===========================================
+ Hits         2309     2953      +644     
+ Misses       2062     1418      -644     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@satvshr satvshr marked this pull request as ready for review January 31, 2026 16:13
@satvshr satvshr marked this pull request as draft January 31, 2026 16:14
@PGijsbers
Copy link
Collaborator

PGijsbers commented Feb 13, 2026

I didn't look at it too closely but considering it looks like the local evaluations   go wrong its not likely to do with any server connection issues https://github.com/openml/openml-python/actions/runs/21919012927/job/63293911025?pr=1629#logs . The error message about datatypes immediately makes me think of pandas, and this PR does not contain the fixes from #1628. I have to assume that is the underlying issue for that error.

The other error you sent is strange https://github.com/openml/openml-python/actions/runs/21940621497/job/63365126160?pr=1629. I'll have a closer look after my next meeting.

update: I can't quickly find a reason for the error. I added it on my list to check later.

# sed -i 's|/minio/|/data/|g' config/database/update.sh

# echo "=== Patched Update Script ==="
# cat config/database/update.sh | grep "nginx"
Copy link
Collaborator

Choose a reason for hiding this comment

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

why extra work here? locally just running the services is enough

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Kindly ignore these, the pr isnt ready for review yet as tests are still failing and I was trying to debug tests.

openml/config.py Outdated
Comment on lines 32 to 36
if sys.platform.startswith("win"):
TEST_SERVER_URL = "http://localhost"
else:
TEST_SERVER_URL = "http://localhost:8000"

Copy link
Collaborator

Choose a reason for hiding this comment

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

we should actually use an env variable here, please see https://github.com/openml/openml-python/pull/1629/changes#r2797509441
should be controlled by that env variable, which if not set, should default to use https://test.openml.org/

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is not how I plan to resolve this either, just a temporary fix to the windows issue.

@geetu040
Copy link
Collaborator

The tests are taking too long because connection_n_retries is set to 5, you can set it to 1 for this PR, to avoid delays in CI.

@satvshr
Copy link
Contributor Author

satvshr commented Feb 18, 2026

The tests are taking too long because connection_n_retries is set to 5, you can set it to 1 for this PR, to avoid delays in CI.

Will do that to prevent hold ups for other CIs in the repo, for my branch it is noticeable if a run is going to fail if it has been stuck on a single test for more than a minute.

@geetu040
Copy link
Collaborator

Will do that to prevent hold ups for other CIs in the repo, for my branch it is noticeable if a run is going to fail if it has been stuck on a single test for more than a minute.

yeah but each job in this PR still takes full 150 minutes

"avoid_duplicate_runs": False,
"retry_policy": "human",
"connection_n_retries": 5,
"connection_n_retries": 1,
Copy link
Collaborator

Choose a reason for hiding this comment

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

I don't think this would work, since we change this again in conftest.py.
To be completely sure that this works, you can temporarily set n_retries = 1 in _api_calls.py::_send_request

run: |
git clone --depth 1 https://github.com/openml/services.git
cd services

Copy link
Collaborator

Choose a reason for hiding this comment

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

you are not running these services yet.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

DId not realise I accidentally removed it

f"collected from {__file__.split('/')[-1]}: {flow.flow_id}",
)

@pytest.mark.skip(reason="Pending resolution of #1657")
Copy link
Collaborator

Choose a reason for hiding this comment

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

skip these only if OPENML_USE_LOCAL_SERVICES is set to True

Copy link
Collaborator

Choose a reason for hiding this comment

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

some tests are skipped though they are not mentioned in #1657, why is that?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I was using the failures from here

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.

[MNT] Intermediate test plan

4 participants