Cirrus CLI

Cirrus CLI is a tool for running containerized tasks reproducibly in any environment. Run your tasks locally the same way
they are executed in CI or on your colleague's computer. Immutability of Docker containers ensures your project will compile
years form now regarding what versions of packages you have locally.

Note: Even though Cirrus CLI is using the same configuration format as Cirrus CI,
Cirrus CLI can be used in any environment that has Docker installed including any CI system like Jenkins, Github Actions, etc.
Think of Cirrus CLI as an executor of Cirrus tasks on a single machine and Cirrus CI as a cloud executor.
Installation
Releases
Check the releases page for a pre-built cirrus binary for your platform.
Go
If you have Go installed, you can run:
go get github.com/cirruslabs/cirrus-cli/...
This will build and place the cirrus binary in $GOPATH/bin.
To be able to run cirrus command from anywhere, make sure the $GOPATH/bin directory is added to your PATH
environment variable (see article in the Go wiki for more details).
Usage
Cirrus CLI uses the same configuration format as Cirrus CI which allows to
reuse a large list of ready-to-use examples created by Cirrus CI community.
Validate
To validate a Cirrus configuration, simply switch to a directory where the .cirrus.yml is located and run:
cirrus validate
Running
To run Cirrus tasks, simply switch to a directory where the .cirrus.yml is located and run:
cirrus run
It is also possible to run a task by name:
cirrus run "Tests (Go 1.15)"
Note: Cirrus CLI only support Linux containers instances at the moment including Dockerfile as a CI environment feature.