--- title: > Why I've standardised on 'run' scripts pubDate: 2023-11-19 permalink: >- daily/2023/11/19/why-ive-standardised-on-run-scripts tags: - software-development - continuous-integration --- In some of my first emails to this list, I wrote about `just` and `run` files. Both allow you to write project-specific aliases and commands. For example, instead of running `docker compose exec php phpunit`, you run `just test` or `run test`. While `just` uses a simple Makefile-like syntax, it requires its own program, so it needs to be installed. While I have it installed locally, I've had instances where CI pipelines have failed because they can't download and install `just` and not because of an error in my code. ## Here's the thing A `run` script is a file of Bash functions. Because it's written in Bash, it runs anywhere without installing additional dependencies. If a CI pipeline fails, which is less often, it's due to a failure within my code and not because of a download error.