make fast-build
builds a binary for your current machine used for testing/experimentation
make ci
runs all linters and tests
make build
runs a full release build (does not release)
VERSION=unknown
BREV_API_URL=http://localhost:8080
# BREV_API_URL=<your backend>
https://github.com/spf13/cobra/blob/master/user_guide.md
pkg/cmd/logout/logout.go
is a minimal command to go off of for adding new commands.
commands for the cli should follow <VERB>
<NOUN>
pattern.
Don't forget to add a debug command to .vscode/launch.json
make
- execute the build pipeline.make help
- print help for the Make targets.
F1
→ Tasks: Run Build Task (Ctrl+Shift+B or ⇧⌘B)
to execute the build pipeline.
make a patch release
make version-bump-patch
make a minor release
make version-bump-minor
make a major release
make version-bump-major
when releasing make sure to
-
run
full-smoke-test
before cutting release to run through some common commands and make sure that they work -
release new version of workspace-images
-
update brev's homebrew tap
Remember to update Go version in .github/workflows, Makefile and devcontainer.json.
Notable files:
- devcontainer.json - Visual Studio Code Remote Container configuration,
- .github/workflows - GitHub Actions workflows,
- .github/dependabot.yml - Dependabot configuration,
- .vscode - Visual Studio Code configuration files,
- .golangci.yml - golangci-lint configuration,
- .goreleaser.yml - GoReleaser configuration,
- Dockerfile - Dockerfile used by GoReleaser to create a container image,
- Makefile - Make targets used for development, CI build and .vscode/tasks.json,
- go.mod - Go module definition,
- tools.go - build tools.