community.vmware
Health score
80 / 100
Strong evidence across everything we could observe.
- Excellent (this collection)
- Good
- Fair
- Poor
- Not scored
Observed 8 of 8 signal groups.
Four are needed before a score is published.
4 needed
Category subscores
- Security
- 0%
- Trust
- 95%
- Quality
- 83%
- Maintenance
- 85%
- ansible-core compatibility
- 100%
| Signal | Verdict | What we found | Points | Proved by |
|---|---|---|---|---|
| Signals we could observe | ||||
| security.dependency_boundedness | Not met | 0 of 1 dependencies bounded | 0 / 1 | Published artifact |
| trust.ansible_membership | Passed | ships in 12 ansible package majors | 2 / 2 | ansible-build-data |
| trust.link_claims | Partly met | 3 of 4 link URLs declared | 0.85 / 1 | Published artifact |
| quality.docs | Partly met | readme, 2 doc files | 2.1 / 3 | Published artifact |
| quality.changelog | Partly met | changelog.yaml, 0 fragments | 1.6 / 2 | Published artifact |
| quality.license_quality | Passed | SPDX id declared (GPL-3.0-or-later, BSD-2-Clause) | 1 / 1 | Published artifact |
| quality.tests | Partly met | plugins-only: 11 unit, 414 integration, 4 sanity, 0 molecule | 2.85 / 3 | Published artifact |
| quality.ci | Partly met | 3 workflow files, 0 other CI files | 1.6 / 2 | Published artifact |
| maintenance.release_recency | Passed | last release 23 days ago | 3 / 3 | Galaxy index |
| maintenance.changelog_recency | Partly met | 0 unreleased changelog fragments | 0.4 / 1 | Published artifact |
| compat.requires_ansible | Passed | >=2.19.0 | 3 / 3 | Published artifact |
| compat.membership_currency | Passed | ships in ansible 14 (current is 12) | 1 / 1 | ansible-build-data |
No repository evidence yet. ansible.care has not read any collection's Git repository, so every signal above was proved from a published artifact or from Ansible’s own build data. Tests and CI in particular can be proved present this way but never proved absent — so when we cannot see them, we leave them out of the score rather than counting them against you.
What is costing points
Each of these is a signal we observed and could not fully credit.
- security.dependency_boundedness
Give every collection dependency you declare in `galaxy.yml` an upper or pinned bound — `<`, `<=`, `==` or `~=` — so that installing your collection cannot silently pull in an arbitrary future release of somebody else’s. If your collection declares no dependencies at all this rule already awards full marks and there is nothing here to change. If we reported a dependency we could not read, the fix is the syntax of its version range rather than the dependency itself.
- quality.changelog
Ship a `changelogs/changelog.yaml` — the structured form `antsibull-changelog` generates and the `ansible` package consumes — rather than only a hand-maintained `CHANGELOG.md`, and write a fragment into `changelogs/fragments/` as each change lands rather than reconstructing release notes at release time. Both have to be inside the published tarball to be observable: a changelog that lives only in your Git repository is one we cannot read. This is the single highest-leverage change for most collections, because the same missing file is what holds down both changelog rules in this rubric. If you already publish `changelog.yaml` with fragments, this rule is answered.
- quality.docs
Ship your README and your `docs/` directory INSIDE the published tarball, not only in your Git repository — we do not read repositories at all yet, so a file that exists only there is a file we cannot see. If your `build_ignore` excludes `docs/`, that exclusion is why we observed nothing. Beyond the README this rule counts documentation FILES, so splitting a long README into per-module and per-role pages is what moves it; adding filler pages to raise a count would satisfy the arithmetic and help nobody.
- trust.link_claims
Declare the link fields your collection actually has in `galaxy.yml` — `repository`, `documentation`, `homepage` and `issues` — and correct any we reported as unparseable, which is usually a stray character rather than a wrong address. This is a metadata edit: we never fetch what is behind these URLs, so nothing about your hosting is being graded. Do not invent a URL to fill a field — a scaffolding placeholder left where it was born is shown on your page as the placeholder it is, and an honestly empty field reads better than a link that goes nowhere.
What would strengthen this score
These signals can only add points in the current scoring version — they are never counted against you.
- quality.ci
Publish your CI configuration inside the artifact. `.github/workflows/` is what we count most precisely, and other CI config files earn partial credit when your automation runs somewhere we cannot enumerate as exactly. `build_ignore` commonly strips `.github/`, again on the packaging documentation’s own advice, so an absence here is a gap in what we could read rather than a statement that your collection has no CI. In this scoring version this rule can only add points: an unobserved CI signal leaves your calculation rather than scoring zero, so this is worth doing for the credit and never to avoid a deduction.
- quality.tests
Publish your test evidence inside the artifact: `molecule/` scenarios for a role collection, and `tests/unit/`, `tests/integration/` and `tests/sanity/` for a plugin collection. Ansible’s own packaging documentation suggests excluding `tests/` through `build_ignore`, so if you follow that advice we simply cannot see them — their absence from your tarball is a limit on what we read and never a claim that you have no tests. In this scoring version this rule can only add points: when we observe no test evidence the rule leaves your calculation entirely rather than scoring zero, so publishing tests can raise your score and withholding them cannot lower it.
Links
Authors
- Ansible (https://github.com/ansible)