Christopher Crone 3c5d37326d Use docker build for lint
This approach allows better caching of results (so faster subsequent
lints). It also avoids bind mounts which are slow.

Benchmarks on my machine (2017 MacBook Pro 13"):
* bind mount lint: 2m 38s
* new lint (after docker builder prune): 1m 35s
* old lint (rerun no changes): 2m 38s
* new lint (rerun added println in random Go file): 9s

Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-05-22 13:14:44 +02:00
2020-05-22 10:46:54 +02:00
2020-05-20 18:39:10 +02:00
2020-05-20 16:49:20 +02:00
2020-05-20 18:39:10 +02:00
2020-05-20 18:39:10 +02:00
2020-05-22 10:13:56 +02:00
2020-05-14 13:29:11 +02:00
2020-05-20 10:16:36 +02:00
2020-05-18 15:31:59 +02:00
2020-05-13 18:37:41 +02:00
2020-05-20 15:56:07 +02:00
2020-05-20 15:56:32 +02:00
2020-04-24 14:04:27 +02:00
2020-05-20 18:39:10 +02:00
2020-05-22 13:14:44 +02:00
2020-05-22 13:14:44 +02:00

Docker API

Actions Status

Dev Setup

The recommended way is to use the main Makefile that runs everything inside a container.

If you don't have or want to use Docker for building you need to make sure you have all the needed tools installed locally:

  • go 1.14
  • protoc
  • go get github.com/golang/protobuf/protoc-gen-go@v1.4.1
  • go get golang.org/x/tools/cmd/goimports
  • go get github.com/golangci/golangci-lint/cmd/golangci-lint@v1.26.0

And then you can call the same make targets but you need to pass it the builder.Makefile (make -f builder.Makefile).

The new CLI delegates to the classic docker for default contexts ; delegation is done to docker-classic.

  • make classic-link will create a docker-classic link in /usr/local/bin if you don't already have it from Docker Desktop

Building the project

$ make

If you make changes to the .proto files, make sure to make protos to generate go code.

Tests

To run unit tests:

make test

If you need to update a golden file simply do go test ./... -test.update-golden.

Description
Define and run multi-container applications with Docker
Readme Apache-2.0 73 MiB
Languages
Go 96.9%
Dockerfile 2.3%
Makefile 0.5%
HCL 0.2%