A command-line interface to run tasks specified in a .wharf-ci.yml
file.
Requires Go 1.18 (or later)
go install github.com/iver-wharf/wharf-cmd/cmd/wharf@latest
wharf run --namespace build --environment stage wharf-ci.yml
-
HTTP API using the gin-gonic/gin web framework.
-
gRPC API using grpc/grpc-go.
-
Command-line parsing using spf13/cobra
-
Kubernetes access using k8s.io/client-go
-
Git interface using external
git
binary accessible viaPATH
environment variable. For example from https://git-scm.com/downloads.
-
Install
- Go 1.18 or later (for compilation): https://golang.org/
- NodeJS & NPM (for markdown linting): https://nodejs.org/en/
- Protobuf runtime (for regenerating protobuf/gRPC files): https://developers.google.com/protocol-buffers/
-
Install formatters, protobuf dependencies, and linters:
make deps
-
Start hacking with your favorite tool. For example VS Code, GoLand, Vim, Emacs, or whatnot.
make lint
make lint-go # only lint Go code
make lint-md # only lint Markdown files
make lint-proto # only lint Protobuf (gRPC) files
Some errors can be fixed automatically. Keep in mind that this updates the files in place.
make lint-fix
make lint-fix-go # only lint and fix Go files
make lint-fix-md # only lint and fix Markdown files
make lint-fix-proto # only lint and fix Protobuf (gRPC) files
Maintained by Iver. Licensed under the MIT license.