janhoy opened a new pull request, #100: URL: https://github.com/apache/solr-orbit/pull/100
### Description `MANIFEST.in` still points at the pre-rebrand `osbenchmark/` package (left behind by #14), so **no runtime resource reaches a built distribution** and an installed `solr-orbit` cannot run a benchmark at all. Missing from the wheel: all 37 cluster-config `.ini` files, the 6 Jinja templates, the `jvm.options` and `log4j2.properties` cluster-config templates, `resources/benchmark.ini`, and `min-version.txt`. The one that bites first is the cluster-configs. `_use_default_cluster_configs_dir` (`utils/repo.py:138`) resolves them from `<node.benchmark.root>/resources/cluster_configs`, which is the *installed package* directory, so `os.listdir` raises. `--cluster-config` defaults to `defaults` and `_load_cluster_config` deliberately does not catch the error, so an ordinary `solr-orbit run` fails. Also broken: `config.py:73` bootstrapping `~/.solr-orbit/benchmark.ini` on first run, and `version.py:83` reading `min-version.txt`. An editable install hides all of this, which is why `make develop` is fine — but `make install` is `uv tool install dist/*.whl`, and `docker/Dockerfile` builds and installs a wheel too, so the published `apache/solr-orbit` image ships the bug. Separately, `[tool.setuptools.packages.find]` had no `namespaces = false`, so setuptools treated **every** directory as a namespace package. The wheel shipped `docs/`, `docker/`, `logs/` and `scripts/` as importable top-level packages — `import docs` worked in an installed `solr-orbit`, and the whole Jekyll site travelled inside the distribution (144 files). `top_level.txt` is now just `solrorbit`. Six lines in total; no `package-data` changes are needed, since `include-package-data` already does the work once `MANIFEST.in` points at the right package. ### Issues Resolved Follow-up to #14, which renamed the package but left `MANIFEST.in` behind. No existing issue. ### Testing - [ ] New functionality includes testing Verified by hand, because this can only be observed in a built distribution: ``` $ uv build --wheel $ uv venv /tmp/v && VIRTUAL_ENV=/tmp/v uv pip install dist/solr_orbit-0.1.0-py3-none-any.whl $ /tmp/v/bin/solr-orbit list cluster-configs ``` Before: fails. After: lists all 12 cluster-configs and mixins. `import docs` goes from working to `ModuleNotFoundError`, and the wheel's `top_level.txt` goes from `docker docs logs scripts solrorbit` to `solrorbit`. Worth adding as a CI job — build the wheel, install it into a clean venv, run `solr-orbit list cluster-configs` — since no unit test can catch this class of bug. Happy to add that here or in a follow-up, whichever you prefer. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
