2020-08-25 12:31:48 +02:00
|
|
|
|
|
|
|
### Prerequisites
|
|
|
|
|
|
|
|
* Windows:
|
|
|
|
* [Docker Desktop](https://hub.docker.com/editions/community/docker-ce-desktop-windows)
|
|
|
|
* make
|
|
|
|
* macOS:
|
|
|
|
* [Docker Desktop](https://hub.docker.com/editions/community/docker-ce-desktop-mac)
|
|
|
|
* make
|
|
|
|
* Linux:
|
2022-03-11 12:47:50 +01:00
|
|
|
* [Docker 20.10 or later](https://docs.docker.com/engine/install/)
|
2020-08-25 12:31:48 +02:00
|
|
|
* make
|
|
|
|
|
|
|
|
### Building the CLI
|
|
|
|
|
|
|
|
Once you have the prerequisites installed, you can build the CLI using:
|
|
|
|
|
|
|
|
```console
|
|
|
|
make
|
|
|
|
```
|
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
This will output a `docker-compose` CLI plugin for your host machine in `./bin`.
|
2020-08-25 12:31:48 +02:00
|
|
|
|
|
|
|
You can statically cross compile the CLI for Windows, macOS, and Linux using the
|
|
|
|
`cross` target.
|
|
|
|
|
|
|
|
### Unit tests
|
|
|
|
|
|
|
|
To run all of the unit tests, run:
|
|
|
|
|
|
|
|
```console
|
|
|
|
make test
|
|
|
|
```
|
|
|
|
|
|
|
|
If you need to update a golden file simply do `go test ./... -test.update-golden`.
|
|
|
|
|
|
|
|
### End to end tests
|
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
To run the end to end tests, run:
|
2020-08-25 12:31:48 +02:00
|
|
|
|
|
|
|
```console
|
2021-08-31 18:53:24 +02:00
|
|
|
make e2e-compose
|
2020-08-25 12:31:48 +02:00
|
|
|
```
|
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
Note that this requires a local Docker Engine to be running.
|
2021-08-30 15:58:38 +02:00
|
|
|
|
2020-08-25 12:31:48 +02:00
|
|
|
## Releases
|
|
|
|
|
|
|
|
To create a new release:
|
|
|
|
* Check that the CI is green on the main branch for commit you want to release
|
2021-08-31 18:53:24 +02:00
|
|
|
* Run the release Github Actions workflow with a tag of the form vx.y.z following existing tags.
|
2020-08-25 12:31:48 +02:00
|
|
|
|
2021-08-31 18:53:24 +02:00
|
|
|
This will automatically create a new tag, release and make binaries for
|
2020-08-25 12:31:48 +02:00
|
|
|
Windows, macOS, and Linux available for download on the
|
2021-08-31 18:53:24 +02:00
|
|
|
[releases page](https://github.com/docker/compose/releases).
|