draft: Experimenting with Dagger for image builds and CI
Ported all Blubber variants and .gitlab-ci.yml
jobs to Dagger
functions.
Functions can be listed using dagger functions
:
$ dagger functions
Name Description
base Base returns the base Blubber development container
build-container BuildContainer returns a container with all Go module dependencies
build-gateway BuildGateway builds the Blubber BuildKit frontend gateway
build-kitd BuildKitd returns a BuildKitd container for use in testing
lint Lint runs linters
test-container TestContainer returns a container with all test dependencies
test-examples TestExamples runs the executable examples
test-units TestUnits runs unit tests
toolchain Toolchain returns a container with system package dependencies
Functions can be run locally or against a remote Dagger Engine:
dagger call lint --src .
dagger call test-units --src .
dagger call test-examples --src .
dagger call build-gateway --src .
Getting a terminal for any of the containers is possible by chaining a
call to terminal
.
dagger call test-container --src . terminal