Flipt Build
April 11, 2025 · View on GitHub
This directory contains a Go module dedicated to building and testing Flipt using Dagger.
Dependencies
- Dagger CLI (e.g. for MacOS
brew install dagger/tap/dagger)
Tips
All the commands in this directory can be invoked from the root of the Flipt repo using dagger call.
This version of the command runs using the dagger cli (brew install dagger/tap/dagger).
It comes with a nice TUI.
Build
dagger call build
This builds a distribution appropriate version of Flipt. It results in a container image based on Alpine, with the Flipt binary and an appropriate fileystem structure.
Test
The test section of the dagger command tree contains a bunch of functions for running tests suites with Flipt.
➜ dagger call test --help
Execute test specific by subcommand
see all available subcommands with dagger call test --help
USAGE
dagger call test [arguments] <function>
FUNCTIONS
base-container -
flipt-container -
integration Run all integration tests
source -
ui Run all ui tests
uicontainer -
unit Run all unit tests
ARGUMENTS
--source Directory [required]
Use "dagger call test [command] --help" for more information about a command.
dagger call test --source=. unit: Runs the entire suite of unit style testsdagger call test --source=. ui: Runs the entire suite of UI integration style tests (playwright against running Flipt)
Integration Tests
The integration section of the test functions runs our matrix of integration tests against Flipt under a number of different configuration scenarios.
➜ dagger call test integration --help
Run all integration tests
USAGE
dagger call test integration [arguments]
ARGUMENTS
--cases string (default "*")
dagger call test --source=. integration: Runs all cases concurrently against the target dagger runtime.
However, cases can be constrained to the individual top-level suites via the --cases flag.
dagger call test --source=. integration --cases="authn": Runs only the authn suite.
This flag expects a space delimited list of the case names. The case names are maintained near the top of integration.go.