Setup CI with GH Actions
1 file changed
tree: 3e235d2e4ce70dc8667a772e2489e9192f58f238
  1. .github/
  2. bazel/
  3. buildinfo/
  4. cmd/
  5. scripts/
  6. .bazelrc
  7. .bazelversion
  8. .gitignore
  9. .pre-commit-config.yaml
  10. BUILD.bazel
  11. go.bzl
  12. go.mod
  13. LICENSE
  14. main.go
  15. README.md
  16. WORKSPACE
README.md

aspect-cli

This is the frontend for the Aspect build tool. It is currently just a wrapper around bazelisk or bazel, meant to install in tools/bazel.

In the future, we might totally replace the bazel C++ client, and this tool would be a gRPC client of the bazel server.

TODOs

  • [ ] figure out how to cut and host a release GH Action to cut/publish release whenever a tag is pushed upstream
  • [ ] document lots of ways to install, including a bash one-liner
  • [ ] help user ensure bash/zsh completion working
  • [ ] warn user if Bazel version is floating (no bazelisk, or using latest in .bazelversion, or no .bazelversion)

Use Cases

When I am confused by bazel

I can find that Aspect is an easier-to-use wrapper and feel motivated and comfortable to try it immediately.

From aspect.build/install I quickly pick an Installation option, and am guided through to successful install.

The first time I run aspect in interactive mode,

  • I choose whether I want to install for all users of my workspace, in which case a bootstrap bit is added to tools/bazel ensuring that the tool is downloaded and spawned for anyone cloning my repo.

When I run bare bazel

When I run bare bazel build

When I run bare bazel test