- Windows:
- Docker Desktop
- make
- macOS:
- Docker Desktop
- make
- Linux:
Once you have the prerequisites installed, you can build the CLI using:
makeThis will output a CLI for your host machine in ./bin.
You will then need to make sure that you have the existing Docker CLI in your
PATH with the name com.docker.cli. A make target is provided to help with
this:
make moby-cli-linkThis will create a symbolic link from the existing Docker CLI to
/usr/local/bin with the name com.docker.cli.
You can statically cross compile the CLI for Windows, macOS, and Linux using the
cross target.
The API provided by the CLI is defined using protobuf. If you make changes to
the .proto files in protos/, you will need to regenerate the API
code:
make protosTo run all of the unit tests, run:
make testIf you need to update a golden file simply do go test ./... -test.update-golden.
To run the local end to end tests, run:
make e2e-localNote that this requires the CLI to be built and a local Docker Engine to be running.
To run the end to end ECS tests, you will need to have an AWS account and have
credentials for it in the ~/.aws/credentials file.
You can then use the e2e-ecs target:
TEST_AWS_PROFILE=myProfile TEST_AWS_REGION=eu-west-3 make e2e-ecsTo create a new release:
- Check that the CI is green on the main branch for commit you want to release
- Create a new tag of the form vx.y.z, following existing tags, and push the tag
Pushing the tag will automatically create a new release and make binaries for Windows, macOS, and Linux available for download on the releases page.