Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove core test caching #277

Merged
merged 1 commit into from
Jun 25, 2024
Merged

Remove core test caching #277

merged 1 commit into from
Jun 25, 2024

Conversation

Scienfitz
Copy link
Collaborator

lets try to fix the coretest issues we face regularly by removing the caching for these tox envs
I think it will add between 30 and 60s to an execution time of about 6,5 min, so not terrible and still shorter than the fulltests which run in parallel

@Scienfitz Scienfitz added the repo Requires changes to the project configuration label Jun 21, 2024
@Scienfitz Scienfitz self-assigned this Jun 21, 2024
.github/workflows/ci.yml Show resolved Hide resolved
@Scienfitz Scienfitz merged commit c1be5f4 into main Jun 25, 2024
9 of 10 checks passed
@Scienfitz Scienfitz deleted the repo/remove_coretest_caching branch June 25, 2024 09:56
AdrianSosic added a commit that referenced this pull request Jul 3, 2024
Due to continuing serialization problems that were thought to be related
with caching, #277 deactivated core test caching and #294 was prepared
to do the same for the full test environment.

This PR reactivates caching and instead refactors the class layout of
`SKLearnClusteringRecommender` in an attempt to fix the root cause.
Mysteriously, the top-level import of `sklearn.mixture.GaussianMixture`
seems to cause trouble. While the reason is still unclear, turning it
into a lazy import (which will also become handy later when making
`scikit-learn` an optional dependency) seems to resolve the problem.

On a side note: deactivating slots for the recommenders solves the
problem as well, which suggests that the root cause could be related to
classes not being properly garbage collected (since `attrs` needs to
create new classes when slots are activated), which could also explain
that `GaussianMixtureClusteringRecommender` seemed to have improperly
overridden methods after deserialization (for example, the `__repr__` of
a created Gaussian mixture recommender correctly pointed to its own
class before serialization but to the `__repr__` of
`SKLearnClusteringRecommender` after serialization – but weirdly only
when executed in `tox`).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
repo Requires changes to the project configuration
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants