Context
Every Meshtastic Gradle repo is now onboarded to the OSS Community
Develocity instance at https://community.develocity.cloud under project ID
meshtastic — Build Scans® plus a shared remote build cache:
Develocity now has a Python agent, so the question is whether this repo can join.
This issue records what was found; no change is proposed yet, because the
answer depends on something only Gradle can confirm.
What the Python agent is today
Per the Develocity Python Agent manual:
- Beta, currently
0.10.x.
- Not on PyPI. It installs from a vendor URL:
https://develocity-python-pkgs.gradle.com/develocity_agent-0.10.1-py3-none-any.whl
- Python support is off by default — "To enable it, contact Gradle."
- Configuration lives in a
.develocity.py at the repo root, exposing a
develocity_configuration() function. develocity_url is required;
access_key comes from the config or the DEVELOCITY_ACCESS_KEY environment
variable.
- Instruments
pip, poetry, pytest, pylint, mypy, flake8, autopep8,
isort, django, and others — but test results are pytest-only.
- The manual states that publishing to Gradle's own hosted Develocity is not
supported. Whether that wording excludes community.develocity.cloud is the
open question.
This repo is otherwise a clean fit
Poetry-managed (pyproject.toml, poetry.lock), pytest-driven (pytest.ini),
with a CI job that runs lint + type check + tests via
poetry install --all-extras --with dev,powermon. The agent instruments
exactly that toolchain.
Blocking question
Can Python Build Scan publishing be enabled for project meshtastic on
community.develocity.cloud? This needs an answer from the Develocity
Solutions team; it is not something we can determine or configure ourselves.
Decision needed if the answer is yes
Adding the agent means adding a wheel served outside PyPI to poetry.lock.
That is a supply-chain decision for the maintainers, not a mechanical change: it
would want a pinned hash, and a view on taking a beta dependency into the
dependency graph of a published client library. Worth considering whether it
belongs in the dev group only.
Shape of the change, if approved
.develocity.py at the repo root setting develocity_url and
project_id = "meshtastic".
- The agent wheel in the
dev dependency group, pinned by hash.
- A
DEVELOCITY_ACCESS_KEY repository secret, value
community.develocity.cloud=<key> — the host prefix is required, and
omitting it is the most common onboarding failure.
- The existing CI test job picks it up with no workflow restructuring.
Until question (1) is answered, nothing in this repo should change.
Context
Every Meshtastic Gradle repo is now onboarded to the OSS Community
Develocity instance at https://community.develocity.cloud under project ID
meshtastic— Build Scans® plus a shared remote build cache:Develocity now has a Python agent, so the question is whether this repo can join.
This issue records what was found; no change is proposed yet, because the
answer depends on something only Gradle can confirm.
What the Python agent is today
Per the Develocity Python Agent manual:
0.10.x.https://develocity-python-pkgs.gradle.com/develocity_agent-0.10.1-py3-none-any.whl.develocity.pyat the repo root, exposing adevelocity_configuration()function.develocity_urlis required;access_keycomes from the config or theDEVELOCITY_ACCESS_KEYenvironmentvariable.
pip,poetry,pytest,pylint,mypy,flake8,autopep8,isort,django, and others — but test results are pytest-only.supported. Whether that wording excludes
community.develocity.cloudis theopen question.
This repo is otherwise a clean fit
Poetry-managed (
pyproject.toml,poetry.lock), pytest-driven (pytest.ini),with a CI job that runs lint + type check + tests via
poetry install --all-extras --with dev,powermon. The agent instrumentsexactly that toolchain.
Blocking question
Can Python Build Scan publishing be enabled for project
meshtasticoncommunity.develocity.cloud? This needs an answer from the DevelocitySolutions team; it is not something we can determine or configure ourselves.
Decision needed if the answer is yes
Adding the agent means adding a wheel served outside PyPI to
poetry.lock.That is a supply-chain decision for the maintainers, not a mechanical change: it
would want a pinned hash, and a view on taking a beta dependency into the
dependency graph of a published client library. Worth considering whether it
belongs in the
devgroup only.Shape of the change, if approved
.develocity.pyat the repo root settingdevelocity_urlandproject_id = "meshtastic".devdependency group, pinned by hash.DEVELOCITY_ACCESS_KEYrepository secret, valuecommunity.develocity.cloud=<key>— the host prefix is required, andomitting it is the most common onboarding failure.
Until question (1) is answered, nothing in this repo should change.