Replies: 1 comment
-
(General) Keep a Changelog lintingThis seems like a job that https://github.com/heroku/keep_a_changelog would be well suited for. We could enhance that repo with some WASM compilation for use in a GitHub Action that handles validation and/or other checks. (Rust) CNB semver checksImagine something like cargo-semver-checks but it checks rules like the ones defined in Paketo's Semantic Versioning of Buildpacks and Builders RFC against libcnb.rs-based projects. |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
(General) Keep a Changelog linting
We have changelog checking on GHA, but it doesn't validate the format. If we added Keep A Changelog linting it would prevent issues like https://github.com/heroku/buildpacks-ruby/pull/283/files#diff-82032714d881e3cbf53230847846645d5956738ab3ce7b30b839dac1f02fa934R10. A changelog entry is added, but it is not under an Added/Changed/Fixed header.
Possible solution(s):
(rust) Lint
deny_unknown_fields
used on allDeserialize
structsInfo on the flag in heroku/buildpacks-ruby#272. It would be nice to have some way to lint/check this for Rust buildpack projects.
Possible solution(s):
(rust) Protect against logic errors for filesystem access
Problem: Some of the Rust stdlib functions can hide problems, for example https://doc.rust-lang.org/std/path/struct.Path.html#method.is_file will return false if there is a permissions error with a file. This results in confusing error messages to users because we might say something like "No such file
Procfile
, please add this file to your project and try again" but if they$ ls
they'll seeProcfile
. The answer to this problem is to ensure APIs that return a Result are used instead like https://doc.rust-lang.org/std/path/struct.Path.html#method.try_exists.Possible solution(s):
Add your own ideas
Post below
Beta Was this translation helpful? Give feedback.
All reactions