byggsteg aims to be the hackable continuous integration and delivery system, allowing engineers to deliver software quicker and with less friction
●
byggsteg@localhost: ~
$ byggsteg --watch ./maak.scm
[ok] queue worker online
[ok] clone wikimusic/trunk
[ok] maak test
[ok] maak deploy
$ 

job types

buildtestlintcheckfmtdocspackagemigratecleancoveragebenchmarksmokee2eaudit
Run a target in the job's clone, with the runner the checkout has: Maak for a maak.scm, Just for a justfile, Make for a Makefile, and Make when it keeps none of them. Any target the project has can be asked for, and a runner's name and a dash -- just-test, maak-test -- names the runner instead.
deploymaak-deploymake-deployrestartpull-and-deploypull-and-restartbyggsteg-version
Act on the machine byggsteg runs on rather than on the checkout: deploy it, restart a GNU Shepherd service, or update and restart byggsteg itself.
trivial
Allow passing arbitrary list of commands (via trivial-cmds field)

a pipeline

(lambda ()
  `((project . "wikimusic")
    (branch-name . "trunk")
    (daemon-name . "wikimusic-daemon")
    (clone-url . "https://codeberg.org/jjba23/wikimusic.git")
    (task . ("maak-test" "maak-deploy"))))