2.0 KiB
Prerequisites
- Windows:
- Docker Desktop
- make
- macOS:
- Docker Desktop
- make
- Linux:
Building the CLI
Once you have the prerequisites installed, you can build the CLI using:
make
This will output a docker-compose
CLI plugin for your host machine in
./bin/build
.
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:
make test
If you need to update a golden file simply do go test ./... -test.update-golden
.
End-to-end tests
To run e2e tests, the Compose CLI binary needs to be built. All the commands to run e2e tests propose a version
with the prefix build-and-e2e
to first build the CLI before executing tests.
Note that this requires a local Docker Engine to be running.
Whole end-to-end tests suite
To execute both CLI and standalone e2e tests, run :
make e2e
Or if you need to build the CLI, run:
make build-and-e2e
Plugin end-to-end tests suite
To execute CLI plugin e2e tests, run :
make e2e-compose
Or if you need to build the CLI, run:
make build-and-e2e-compose
Standalone end-to-end tests suite
To execute the standalone CLI e2e tests, run :
make e2e-compose-standalone
Or if you need to build the CLI, run:
make build-and-e2e-compose-standalone
Releases
To create a new release:
- Check that the CI is green on the main branch for the commit you want to release
- Run the release GitHub Actions workflow with a tag of form vx.y.z following existing tags.
This will automatically create a new tag, release and make binaries for Windows, macOS, and Linux available for download on the releases page.