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

Developers documentation #369

Open
r-c-n opened this issue Oct 3, 2023 · 3 comments
Open

Developers documentation #369

r-c-n opened this issue Oct 3, 2023 · 3 comments
Labels

Comments

@r-c-n
Copy link
Contributor

r-c-n commented Oct 3, 2023

The current documentation is still fairly incomplete and high-level. It conveys the purpose of the new API and pipeline and it presents basic usage for the simplest use cases, which is a good way to start getting the attention of potential users, but at this point it still doesn't contain any relevant information for contributors: API internals, models, howtos for developers, configuration, etc.

This suggests that parts of the design are still in flux and not fully stabilized.

Any person that wants to contribute needs to read and understand the code, which also lacks proper documentation in most places. This is risky because a contributor might draw certain design conclusions from the code that may not be right or that could be provisional.

Adding a stable documentation for the API parts that are well established should be a priority to encourage external contributions.

@gctucker
Copy link
Contributor

gctucker commented Oct 4, 2023

Same as for the pipeline, once we have a stable release candidate we should have no grey areas left and everything should be documented.

In the meantime, there's already the generated documentation which of course follows the state of the API itself:
https://kernelci-api.eastus.cloudapp.azure.com/latest/docs

@r-c-n
Copy link
Contributor Author

r-c-n commented Oct 5, 2023

Comment kernelci/kernelci-pipeline#329 (comment) applies here as well.

I think the generated documentation simply describes the surface of the API but, personally, I find that incomplete as a practical documentation if I don't know anything about the data models and other internal (not implementation) details. For instance, how nodes are related to each other.

@gctucker
Copy link
Contributor

gctucker commented Oct 5, 2023

Right, of course it's not complete. I just wrote it's something we have in the meantime.

The API is not meant to necessarily know how the nodes relate to each other, that's something client-side services are dealing with. Like, a kernel build or kunit result etc. shouldn't be something for the API to be "aware" of, at least that's not part of the current design. And that's obviously where proper documentation will help, and we can't really document what doesn't exist yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: No status
Development

No branches or pull requests

3 participants