Standardize the baseline for new contributions:
- Expression format is similar to other contributions
- Adheres to guidelines for a given language / ecosystem
- There should be an attempt to run tests
- Highly impure tests can be disabled
InstallCheckPhaseshould be utilize that a trivial scenario works (e.g.<program> --version) works- (low priority)
passthru.testsshould be used to create more meaningful user tests / scenarios - (lower priority) some form of nixosTest if several packages / services interact with each other (e.g. nextcloud + postgres)
At least with python packages, we have done a pretty good job on emphasizing running the test suites, and using pythonImportsCheck to validate the python package builds, and is usable in at least the trivial case. Goes a long way to having a “the diff looks alright, so as long as the nixpkgs-review passes, it’s merge-able”.
There was an RFC which wanted to standardize the PR workflow, but I think it was just being too “rigid” and the effects covered a wide range of human oriented processes (e.g. reviewing, status updates, etc). And we could probably get an RFC passed by setting the bar lower, and just applying standardization around what a “nixpkgs package” should contain.