The estafette command line interface to run tons of commands locally for Estafette CI
First install Homebrew:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
And docker:
brew install --cask docker
Then install the estafette
cli with
brew install estafette/stable/estafette
Updating to the latest can be done with
brew upgrade
First install GoFish:
MacOS/Linux
curl -fsSL https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.sh | bash
gofish init
Windows
Set-ExecutionPolicy Bypass -Scope Process -Force
iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/fishworks/gofish/main/scripts/install.ps1'))
gofish init
Then install the estafette
cli with
gofish rig add https://github.com/estafette/fish-food
gofish install estafette
If you already have it installed upgrade to the latest and greatest with
gofish upgrade
go install github.com/estafette/estafette
Run estafette help
to see what commands are available.
To check whether your .estafette.yaml manifest file is valid run
estafette validate
To build the .estafette.yaml manifest locally run
estafette build
This will only run the first stage; if you want to run more stages pass the stages names as a comma separated list
estafette build restore,build,test
Do realize your local build doesn't have access to the same credentials the Estafette CI server has so you won't be able to build all stages.
For local development when running go build .
the generated binary can be used with
./estafette help
Development versions get released as a pre-release version on github for each commit and have their brew formular updates in a development tap repository. You can install it via
brew install estafette/dev/estafette-dev
And then use it with
estafette-dev help
Official releases are performed by creating and pushing a branch with the same version as specified in version.semver.releaseBranch
.