Skip to content

draft: Experimenting with Dagger for image builds and CI

Dduvall requested to merge dduvall/blubber:try/dagger into main

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

Merge request reports