Chris Crone
c8b8a9f767
deps: Bump
...
Build:
* Golang 1.15.2 to 1.15.3
* golangci-lint 1.31.0 to 1.32.0
* protoc-gen-go 1.4.1 to 1.4.3
All direct Go dependencies except Azure/azure-sdk-for-go which required
code changes.
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-10-27 14:09:38 +01:00
Chris Crone
66c9094e2d
build: Remove unneeded mounts
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-23 19:06:45 +02:00
Chris Crone
5aa14ef911
build: Use BuildKit cache for modules
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-23 19:06:40 +02:00
Chris Crone
d154c41586
Update copyright
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-22 12:13:00 +02:00
Chris Crone
5ef51722d0
deps: Bump Golang to 1.15.2, golangci-lint to 1.31.0
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-14 17:23:18 +02:00
Chris Crone
026a833732
deps: Bump Golang to 1.15.1
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-09-07 10:45:49 +02:00
Chris Crone
4c6280b0e9
Rename docker/api -> docker/compose-cli
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-08-21 17:28:39 +02:00
Djordje Lukic
b41d216aaa
Add import restrictions check
...
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-08-19 12:31:30 +02:00
Guillaume Lours
b4e45bf597
Add a script to check if go.mod and go.sum are up-to-date
...
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-18 14:57:53 +02:00
Guillaume Lours
95de770e87
Update or add license header which are not valid
...
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-17 16:55:25 +02:00
Guillaume Lours
97a50f8d51
Add CI step to check license headers
...
Signed-off-by: Guillaume Lours <guillaume.lours@docker.com>
2020-08-17 16:55:25 +02:00
Chris Crone
9d073707b9
deps: Bump Go to 1.15 and Go linter to 1.30
...
Signed-off-by: Chris Crone <christopher.crone@docker.com>
2020-08-12 10:36:09 +02:00
Christopher Crone
5ea711b586
dockerfile: Fix copyright
...
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-08-04 13:30:30 +02:00
Christopher Crone
5c947a2082
dockerfile: Update linter
...
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-31 16:17:19 +02:00
Christopher Crone
bda30502b8
dependencies: Bump Golang
...
* Go to 1.14.6
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-17 09:37:53 +02:00
Christopher Crone
8ec9b3c77b
dependencies: Bump Golang and linter
...
* Go 1.14.5
* golangci-lint 1.28.3
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-16 13:22:12 +02:00
Chris Crone
b881f16085
Merge pull request #364 from chris-crone/set-version-docker
...
Set version when building with Docker
2020-07-08 11:51:00 +02:00
Christopher Crone
539464ed3d
build: Set version when building with Docker
...
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-07 15:48:09 +02:00
Christopher Crone
878783d271
tools: Update Go and linter
...
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-07-07 15:29:48 +02:00
Djordje Lukic
ad72c866cc
Add license headers
2020-06-18 16:48:03 +02:00
Djordje Lukic
39042aa8bd
Build example and local backend conditionaly
...
* `make` will build the cli with all backends exnabled
* `make cross` will cross build without the example and local backend
You can still cross compile with all backends by doing
```console
$ BUILD_TAGS=example,local make cross
```
Signed-off-by: Djordje Lukic <djordje.lukic@docker.com>
2020-06-15 18:02:30 +02:00
Djordje Lukic
c34d016fdb
Unify protos with client interfaces
...
* change function names in containers.proto
* add streams proto
2020-06-08 09:43:19 +02:00
Christopher Crone
247fa56ee1
More Dockerfile best practices
...
* Use mounts for RUN commands to avoid creating extra layers
* Use built-in platform support
Signed-off-by: Christopher Crone <christopher.crone@docker.com>
2020-06-02 11:58:24 +02:00
Djordje Lukic
129e675932
Put all protos inside the `protos` package
2020-05-25 15:04:28 +02:00
Djordje Lukic
5d073028be
Add buildkit cache when running unit tests
...
Since running `go test` downloads dependencies we want to have them in
the builder cache
2020-05-22 13:26:30 +02:00
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
Djordje Lukic
8495500aa2
Add a CliSuite for cli unit tests
...
Makes writing unit tests for commands quite easier
2020-05-22 10:13:56 +02:00
Djordje Lukic
fe36c49246
Use alpine as base image
...
Installing docker on buster is a pain, use alpine to install it
2020-05-20 18:39:10 +02:00
Djordje Lukic
d8a38afecc
Implement printing published ports
2020-05-16 10:41:35 +02:00
Djordje Lukic
52f7902d40
Port parsing on the comand line
2020-05-15 15:04:09 +02:00
Djordje Lukic
a506b7f4e9
Fix `make protos`
...
The base target for protos was missing goimports, which we run after
making protos so that the linter doesn't fail on generated code
2020-05-14 21:53:14 +02:00
Djordje Lukic
7b26e8e836
Faster build
...
* Run in parallel
* lint
* test/build/e2e test
* use cache for go
* do not use docker for building
* remove useless dependencies from the base image
Build time passes from 5 minutes to 1 minute 30 seconds
2020-05-14 21:16:31 +02:00
Djordje Lukic
6486f199e2
Add multierror
...
docker/api/multierror wraps go-multierror from hashicorp with
our default error formating
2020-05-13 18:37:41 +02:00
Djordje Lukic
4e9a4185af
Add `make lint` and run it on CI
2020-05-05 10:50:30 +02:00
Djordje Lukic
6feedaf939
Use go modules on build
2020-05-05 10:27:44 +02:00
Djordje Lukic
ba8c824436
Cleanup Makefiles
...
* add `make help` target
* remove unused variables
* add .exe to the binary name when on windows
* add ldflags to go build to strip the binary (smaller binary size)
* `make protos` must be executed manually when proto files change
2020-05-05 10:07:11 +02:00
Djordje Lukic
9fd5f7bef3
Rename xcli to cross
2020-05-04 11:35:11 +02:00
Djordje Lukic
600feb1e00
Split makefiles
...
* Makefile is for users to use
* builder.Makefile is used by the builder container
2020-05-04 11:35:11 +02:00
Ulysses Souza
33c45a0a62
Add "goimports"
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-04 11:30:21 +02:00
Ulysses Souza
4f3c2c1996
Fix protos and its generation
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-05-04 11:30:21 +02:00
Djordje Lukic
6ecb5550f7
Use a request for the context list rpc in cli.proto
2020-04-30 12:42:11 +02:00
Djordje Lukic
cdff00d571
Run tests inside a container
2020-04-27 10:17:10 +02:00
Ulysses Souza
88aef2e4e2
Dockerize build and proto gen
...
Signed-off-by: Ulysses Souza <ulyssessouza@gmail.com>
2020-04-24 14:20:42 +02:00