feat: implement task runner #161

Open
opened 2026-10-14 00:45:53 +02:00 by AramJonghu · 0 comments
Collaborator

What's missing / annoying

The main issue is needing to set up a PR to see if CI passes. This takes time as docker needs to spin up and do each step each run (including repository setup alongside install dependencies). A task runner would allow any contributor to run (common) tests and checks before creating a PR. A contributor would also only need to task run relevant tasks, not all of them.

This would also improve development experience since you do not need to run the relevant checks manually (think building, tests, lint check, etc.). This is especially good as a final check before committing or before setting up a pull request.

Lastly, a task runner can also be used to do the build & install in a single command, which is a nice addition.

How should it work

We can use various options. Options include GNU make (wikipedia page since their website seems inaccesible), lefthook, redo, and fastbuild. Make seems like the best option as we probably all have it installed already. I will leave it up to you to assess what is best.

Other approaches considered

No response

Area

CI / Tooling

Mockups / references / notes

No response

### What's missing / annoying The main issue is needing to set up a PR to see if CI passes. This takes time as docker needs to spin up and do each step each run (including repository setup alongside install dependencies). A task runner would allow any contributor to run (common) tests and checks before creating a PR. A contributor would also only need to task run relevant tasks, not all of them. This would also improve development experience since you do not need to run the relevant checks manually (think building, tests, lint check, etc.). This is especially good as a final check before committing or before setting up a pull request. Lastly, a task runner can also be used to do the build & install in a single command, which is a nice addition. ### How should it work We can use various options. Options include [GNU make](https://en.wikipedia.org/wiki/Make_(software)) (wikipedia page since their website seems inaccesible), [lefthook](https://github.com/evilmartians/lefthook), [redo](https://github.com/apenwarr/redo), and [fastbuild](https://github.com/fastbuild/fastbuild). Make seems like the best option as we probably all have it installed already. I will leave it up to you to assess what is best. ### Other approaches considered _No response_ ### Area CI / Tooling ### Mockups / references / notes _No response_
AramJonghu added the enhancement label 2026-10-14 00:45:53 +02:00
AramJonghu self-assigned this 2026-10-14 00:45:53 +02:00
zach was assigned by AramJonghu 2026-10-14 00:45:53 +02:00
AramJonghu added this to the Zshell board project 2026-10-14 00:45:53 +02:00
AramJonghu moved this to In Progress in Zshell board on 2026-10-23 03:33:19 +02:00
zach was unassigned by AramJonghu 2026-10-23 03:33:27 +02:00
AramJonghu added reference feat/task-runner-ci 2026-10-23 03:33:33 +02:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: zach/z-bar-qt#161