Skip to content
/ hlb Public
forked from openllb/hlb

HLB is a high-level build definition that compiles down to LLB

License

Notifications You must be signed in to change notification settings

coryb/hlb

 
 

Repository files navigation

hlb

GoDoc License Test

hlb is a high-level build language for BuildKit.

Describe your build in containerized units of work, and BuildKit will build your target as efficiently as possible.

Getting started with HLB

If you're on a MacOS or Linux (linux-amd64), head on over to Releases to grab a static binary.

Otherwise, you can compile HLB yourself using go:

git clone https://github.com/openllb/hlb.git
cd hlb
go install ./cmd/hlb

Then you can run one of the examples in ./examples:

hlb run ./examples/node.hlb

Bring your own BuildKit

By default, HLB uses the BuildKit embedded in a docker engine. HLB supports BUILDKIT_HOST the same way buildctl does, so you can run BuildKit in a container and connect to it:

docker run -d --name buildkitd --privileged moby/buildkit:master
export BUILDKIT_HOST=docker-container://buildkitd
hlb run ./examples/node.hlb

Language server

If your editor has a decent LSP plugin, HLB does support LSP over stdio via the hlb langserver subcommand.

About

HLB is a high-level build definition that compiles down to LLB

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 95.8%
  • CoffeeScript 1.2%
  • Other 3.0%