vito / bass

a low fidelity scripting language for project infrastructure
https://bass-lang.org
MIT License
378 stars 13 forks source link

add Dagger runtime #259

Closed vito closed 1 year ago

vito commented 1 year ago

Adds a new Dagger runtime alongside the existing Buildkit runtime.

Note that this isn't yet feature complete, but I'd like to merge what's done so far. Dagger has proven to be a perfect for this, aside from the missing functionality. The runtime implementation is tiny!

To use the Dagger runtime, add this to ~/.config/bass/config.json:

{
  "runtimes": [
    {
      "platform": {"os": "linux"},
      "runtime": "dagger"
    }
  ]
}

All the basics are implemented and tested, but there are substantial things missing:

Each of these has a corresponding failing runtime test. The tests are skipped for now in CI.

The Buildkit runtime will stick around, and will remain tested with the same rigor - the shared runtime suite is very handy for that! Someday though it might make sense for the Dagger runtime to become the default, since Dagger will receive a lot of investment in out-of-the-box ease-of-use that Buildkit is unlikely to receive. We'll see how it goes.