{ "uuid": [ { "value": "0d707bca-be14-4504-b500-9e44abebab44" } ], "langcode": [ { "value": "en" } ], "type": [ { "target_id": "daily_email", "target_type": "node_type", "target_uuid": "8bde1f2f-eef9-4f2d-ae9c-96921f8193d7" } ], "revision_timestamp": [ { "value": "2025-05-11T09:00:26+00:00" } ], "revision_uid": [ { "target_type": "user", "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" } ], "revision_log": [], "status": [ { "value": true } ], "uid": [ { "target_type": "user", "target_uuid": "b8966985-d4b2-42a7-a319-2e94ccfbb849" } ], "title": [ { "value": "Why I've standardised on 'run' scripts\n" } ], "created": [ { "value": "2023-11-19T00:00:00+00:00" } ], "changed": [ { "value": "2025-05-11T09:00:26+00:00" } ], "promote": [ { "value": false } ], "sticky": [ { "value": false } ], "default_langcode": [ { "value": true } ], "revision_translation_affected": [ { "value": true } ], "path": [ { "alias": "\/daily\/2023\/11\/19\/why-ive-standardised-on-run-scripts", "langcode": "en" } ], "body": [ { "value": "\n

In some of my first emails to this list, I wrote about just<\/code> and run<\/code> files.<\/p>\n\n

Both allow you to write project-specific aliases and commands. For example, instead of running docker compose exec php phpunit<\/code>, you run just test<\/code> or run test<\/code>.<\/p>\n\n

While just<\/code> uses a simple Makefile-like syntax, it requires its own program, so it needs to be installed.<\/p>\n\n

While I have it installed locally, I've had instances where CI pipelines have failed because they can't download and install just<\/code> and not because of an error in my code.<\/p>\n\n

Here's the thing<\/h2>\n\n

A run<\/code> script is a file of Bash functions.<\/p>\n\n

Because it's written in Bash, it runs anywhere without installing additional dependencies.<\/p>\n\n

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.<\/p>\n\n ", "format": "full_html", "processed": "\n

In some of my first emails to this list, I wrote about just<\/code> and run<\/code> files.<\/p>\n\n

Both allow you to write project-specific aliases and commands. For example, instead of running docker compose exec php phpunit<\/code>, you run just test<\/code> or run test<\/code>.<\/p>\n\n

While just<\/code> uses a simple Makefile-like syntax, it requires its own program, so it needs to be installed.<\/p>\n\n

While I have it installed locally, I've had instances where CI pipelines have failed because they can't download and install just<\/code> and not because of an error in my code.<\/p>\n\n

Here's the thing<\/h2>\n\n

A run<\/code> script is a file of Bash functions.<\/p>\n\n

Because it's written in Bash, it runs anywhere without installing additional dependencies.<\/p>\n\n

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.<\/p>\n\n ", "summary": null } ] }