[x] clippy: a common Rust linter that helps write idiomatic rust code. There are over 700 lints supported and it is highly configurable. I've configured it to be quite 'annoying' with allows on specific lints so that we can explicitly choose if we don't agree with a lint. The goal is to let the linter handle common mistakes so we can focus more on design and algorithms.
[x] llvm-cov: a tool to help us run integration tests and measure their code coverage. It seems to be quite powerful. Aside from the code coverage dump to stdout, there is also a --html mode which gives a static site which you can explore in depth to understand what is missing. There also seems to be some support to uploading it to Codecov if we want to add this later.
[x] tests GHA to run the test suite.
[x] Applies clippy's suggestions. Among them are the specification for fields that were missing in our Cargo.toml that seem to be needed for crates.io. Regarding the categories, they are standard slugs from crates.io. We can pick up to 5 and I left in the comments all that seem to be applicable for us. keywords also appears to have a limit of 5 for crates.io.
Adds the following test fixtures (setup/teardown):
[x] a pod using the style-transfer example (pod_style)
[x] a temporary store (store_test)
[x] add_pod_storage which will attach a test store to a pod.
[x] A few basic integration tests for model and store.
Rename:
[x] get_struct_name -> get_type_name
[x] source_commit -> source_commit_url
[x] min_cpus -> recommended_cpus
[x] min_memory -> recommended_memory
[x] location -> directory
[x] Use unwrap() for impossible case in get_type_name
[x] Fixes some non-default file permissions which are unnecessary.
This PR adds:
allow
s on specific lints so that we can explicitly choose if we don't agree with a lint. The goal is to let the linter handle common mistakes so we can focus more on design and algorithms.--html
mode which gives a static site which you can explore in depth to understand what is missing. There also seems to be some support to uploading it to Codecov if we want to add this later.tests
GHA to run the test suite.clippy
's suggestions. Among them are the specification for fields that were missing in ourCargo.toml
that seem to be needed for crates.io. Regarding the categories, they are standard slugs from crates.io. We can pick up to 5 and I left in the comments all that seem to be applicable for us. keywords also appears to have a limit of 5 for crates.io.pod_style
)store_test
)add_pod_storage
which will attach a test store to a pod.model
andstore
.get_struct_name
->get_type_name
source_commit
->source_commit_url
min_cpus
->recommended_cpus
min_memory
->recommended_memory
location
->directory
unwrap()
for impossible case inget_type_name
Fix #19