Open holly-cummins opened 7 months ago
Related idea, but not part of this work item - automated checking against the Extension Maturity Model (eg having a dev ui)
Authors publish extensions with dead guide links
If you mean broken links in the given extension's Antora docs, then Quarkus Antora covers that need for local links at least. It has to be added as a dependency to the docs module and a simple test class has to be created. The Antora site served by Quarkus is then started before running the test. If there are broken local links, the app simply does not start.
I considered to implement also checking of external links some time ago and filed an issue for that right now. https://github.com/quarkiverse/quarkus-antora/issues/23
Note we don't actually give people the list of acceptable values. We see that many extension authors choose a category which isn't one of the 'allowed' ones, because the allowed list is something they'd have to hunt for, and we don't validate it.
Where is that list?
Authors publish extensions with dead guide links
If you mean broken links in the given extension's Antora docs, then Quarkus Antora covers that need for local links at least. It has to be added as a dependency to the docs module and a simple test class has to be created. The Antora site served by Quarkus is then started before running the test. If there are broken local links, the app simply does not start.
I considered to implement also checking of external links some time ago and filed an issue for that right now. quarkiverse/quarkus-antora#23
The problem I was referring to was dead links in the guide:
element of the extension metadata itself (see, for example, https://quarkus.io/extensions/io.quarkus.qson/quarkus-qson/ - if you click on the 'Guide' link, you get a 404). We run a link checker and automatically detect those dead links when they hit the extensions page, but by then it's too late, because the bad data is already in a release. A tighter feedback cycle would be better.
So the thing I meant is is orthogonal to dead links in an extensions docs, but helping to avoid those is also a good thing.
Note we don't actually give people the list of acceptable values. We see that many extension authors choose a category which isn't one of the 'allowed' ones, because the allowed list is something they'd have to hunt for, and we don't validate it.
Where is that list?
I believe it's https://github.com/quarkusio/quarkus/blob/main/devtools/bom-descriptor-json/src/main/resources/catalog-overrides.json.
This is a draft; I need a place to write down various enhancements I/we want to do. The high-level goal is that releasing a 'correct' Quarkiverse extension should have as few manual steps as possible, and as few opportunities for error/missed steps as possible.
At the moment, it can take many attempts to do a successful release, and even when the release is done, publication may not be 'complete':
Common problems
ExtensionDescriptorMojo
and associated tooling)Possible solutions
io.quarkiverse
as the group IDImplementation mechanics for release scripts
Related discussions:
In general, we have to accept that external resources may not always be available, but when there's a clear mismatch between intent ("I think this url is live!" or "I think this url has an image on the other end of it") and reality ("uh, that's not an image, that's an html page"), then we're helping people by letting them know early. The aim here is to reduce friction and shorten feedback cycles.