{"repo":"stepchowfun/toast","free":true,"listed":false,"github":"https://github.com/stepchowfun/toast","clone":"git clone https://github.com/stepchowfun/toast.git","description":"Containerize your development and continuous integration environments. 🥂","language":"Rust","stars":1627,"topics":["ci","continuous-integration","dev-environment","development-environment","docker","containers","build-system","build-tool"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"Toast 🥂 Toast is a tool for containerizing your workflows such as building and testing a project. You define tasks in a YAML file called a toastfile , and Toast runs them in a container based on a Docker image of your choosing. What constitutes a \"task\" is up to you: tasks can install system packages, compile an application, run a test suite, or even serve web pages. Tasks can depend on other tasks, so Toast can be understood as a high-level containerized build system. Here's the toastfile for the example shown above: Toast caches each task by committing the container to an image. The image is tagged with a cryptographic hash of the shell command for the task, the contents of the files copied into the container, and all the other task inputs. This hash allows Toast to skip tasks that haven't changed since the last run. In addition to local caching, Toast can use a Docker registry as a remote cache. You, your teammates, and your continuous integration (CI) system can all share the same remote cache. Used in this way, your CI system can do all the heavy lifting like building and installing dependencies so you and your team can focus on development. Related tools: - Docker Compose: Docker Compose is a convenient Docker-based development environment which shares many features with Toast. However, it doesn't support defining tasks (like lint , test , run , etc.) or remote caching. - Nix: Nix achieves reproducible builds by leveraging ideas from functional programming rather than ","default_branch":null,"files":null,"tree":[],"storefront":"/r/stepchowfun","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/stepchowfun/toast/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}