Automation is the key to modern software development. It occurs in:
- Programming: Linters and formatters perform an early code check
- Compiling: Building the code and including the dependencies need to be orchestrated
- Testing: Fully-automated testsuite execution
- Delivery and Deployment: Packaging the software and getting it into production
To manage all of the above automation tasks, use a modern build / packaging system:
Programming language | Tool | Configfile | Lockfile |
---|---|---|---|
C, C++ | conan |
conanfile.py or conanfile.txt |
conan.lock |
JavaScript | npm |
package.json |
package-lock.json |
Python | conda or uv |
environment.yml or environment.yaml or pyproject.toml or uv.toml |
conda.lock or uv.lock |
Rust | cargo |
Cargo.toml |
Cargo.lock |
The trust
utility assumes that it is being invoked from within the root
directory of a software project.
In this location we look for a valid combination of configfile and lockfile of the above tools. At least one of the file combinations must exist:
Cargo.toml
andCargo.lock
conanfile.py
andconan.lock
conanfile.txt
andconan.lock
environment.yml
andconda.lock
environment.yaml
andconda.lock
package.json
andpackage-lock.json
pyproject.toml
anduv.lock
uv.toml
anduv.lock