bake: initial implementation

Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
This commit is contained in:
Tonis Tiigi
2019-04-05 00:04:19 -07:00
parent 9129a49409
commit a932d52e35
127 changed files with 23933 additions and 95 deletions

41
bake/compose_test.go Normal file
View File

@ -0,0 +1,41 @@
package bake
import (
"sort"
"testing"
"github.com/stretchr/testify/require"
)
func TestParseCompose(t *testing.T) {
var dt = []byte(`
version: "3"
services:
db:
build: ./db
command: ./entrypoint.sh
image: docker.io/tonistiigi/db
webapp:
build:
context: ./dir
dockerfile: Dockerfile-alternate
args:
buildno: 123
`)
c, err := ParseCompose(dt)
require.NoError(t, err)
require.Equal(t, 1, len(c.Group))
sort.Strings(c.Group["default"].Targets)
require.Equal(t, []string{"db", "webapp"}, c.Group["default"].Targets)
require.Equal(t, 2, len(c.Target))
require.Equal(t, "./db", c.Target["db"].Context)
require.Equal(t, "./dir", c.Target["webapp"].Context)
require.Equal(t, "Dockerfile-alternate", c.Target["webapp"].Dockerfile)
require.Equal(t, 1, len(c.Target["webapp"].Args))
require.Equal(t, "123", c.Target["webapp"].Args["buildno"])
}