37 Commits

Author SHA1 Message Date
CrazyMax
f3c6fef9b6 hack: switch to gomod-updates
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-13 13:52:17 +02:00
CrazyMax
71068191db hack: use bake to build the dockerfile frontend
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-11-25 18:55:48 +01:00
CrazyMax
05fdd002b6 hack: use bake to build buildkit binaries
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-10-15 13:47:33 +02:00
CrazyMax
1fa57ee945 hack: use bake to build buildkit images
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-10-13 17:41:15 +02:00
CrazyMax
7283eaba0d dockerfile: generate lint rules documentation
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-06-06 15:11:27 -07:00
CrazyMax
9b86f3bb2c archutil: validate
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-09 17:56:51 +01:00
CrazyMax
a6273a5e0d archutil: move dockerfile to hack and update scripts
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-09 17:56:50 +01:00
CrazyMax
df408e7e2d hack: cleanup buildx install
This was useful when Buildx was not available but since
Docker 23 it should always be there.

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-15 08:45:33 +02:00
Alex Couture-Beil
104d04335f rename BUILDFLAGS to GOBUILDFLAGS
Signed-off-by: Alex Couture-Beil <alex@earthly.dev>
2023-07-07 09:35:07 -07:00
Alex Couture-Beil
6695ae0932 dockerfile: arg for controlling go build flags
This introduces new `BUILDFLAGS`, `VERIFYFLAGS`, and `CGO_ENABLED` build-args,
which can be used to change how buildkitd is compiled.

This, for example, can be used to enable the go data race detector during
integration testing:

    CGO_ENABLED=1 BUILDFLAGS="-race" TESTFLAGS="-v -test.run=TestClientGatewayIntegration/TestClientGatewaySolve" TESTPKGS=./client ./hack/test integration

This additionally introduces a new `make test-race` target, which
simplifies how to run all tests with the race detector.

Signed-off-by: Alex Couture-Beil <alex@earthly.dev>
2023-07-06 16:34:44 -07:00
Alex Couture-Beil
854fa75df3 dockerfile: arg to enable go race detection
This introduces a new `make test-race` target, which will compile
buildkitd using the `go build -race` flag, which is useful for detecting
data races.

Signed-off-by: Alex Couture-Beil <alex@earthly.dev>
2023-07-06 15:00:55 -07:00
CrazyMax
eb27651a12 dockerfile: mod-outdated target to check modules updates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-29 23:03:25 +02:00
Justin Chadwell
bb503ddd80 docs: add auto-generated sections to buildctl.md
Signed-off-by: Justin Chadwell <me@jedevc.com>
2023-03-27 16:23:50 +01:00
CrazyMax
de53f65510 hack: binaries and cross bake targets
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-13 11:23:27 +01:00
CrazyMax
0582a1aac2 hack: shfmt bake target
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-23 11:58:30 +01:00
CrazyMax
d2a4031a05 hack: generated-files bake target
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-23 11:58:30 +01:00
CrazyMax
d31e77ff3c hack: doctoc bake target
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-23 11:58:29 +01:00
CrazyMax
c8880411ce hack: lint bake target
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-23 11:58:29 +01:00
CrazyMax
416883ff27 hack: authors Dockerfile and bake target
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-23 11:58:29 +01:00
CrazyMax
1b721f4b3b hack: bake definition with vendor targets
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-23 11:58:29 +01:00
CrazyMax
4140a8e176 Fix rootless tag
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-26 05:51:58 +01:00
Anders F Björklund
061526a03f Use standard Makefile install variables
The DESTDIR is supposed to be an optional staging location,
while the prefix says where software is going to be installed.

Signed-off-by: Anders F Björklund <anders.f.bjorklund@gmail.com>
2020-11-12 21:07:52 +01:00
Tonis Tiigi
8c55320f45 hack: add shfmt
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2020-07-24 21:17:54 -07:00
Akihiro Suda
340cb430aa Makefile: new target: images
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2019-03-02 15:42:10 +09:00
Tonis Tiigi
ddfb7f77c9 hack: update test dockerfiles to buildkit
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2018-10-10 23:26:05 -07:00
Akihiro Suda
bf571a519e update Go to 1.11
For consistency with Moby (moby/moby#37358)

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2018-09-15 14:25:11 +09:00
Ian Campbell
17069fe7e4 Validation and (controlled) generation for go generate'd files.
Modelled after the vendor support provide a validator and an updator for files
produced by `go generate` (which today just means `*.pb.go`).

Main difference from the vendor support is that we are no longer simply nuking
and replacing a single directory, so I ended up hardcoding `*.pb.go` in a bunch
of places which I don't like but cannot see a way around which doesn't risk
nuking people's other local changes.

The generated files are placed in an unpacked form in a `FROM scratch`
container for update. Use a subdirectory and `tar --strip-components` (portable
to MacOS and Linux according to `tar(1)`) since trying to do a `docker export`
of just the root ends up adding `.dockerenv`, `sys`, `proc` and `dev` to the
source tree.

The validate container is not `FROM scratch` because we want `cat`.

The run in `frontend/gateway/pb/generate.go` was missing an include so fix
that.

The versions of `protoc` and the gogo plugins were chosen to regenerate the
existing code as closely as possible. The updates to `*.pg.go` here are all the
result of regenerating with go1.9 which fixed
https://github.com/golang/go/issues/17663 and replaced an invalid timestamp in
the gzip header of the data encoded in `fileDescriptor*`, and adopted a new
standard for marking generated files.

Finally, I noticed that my `docker run`s were missing an `--rm` which I
inherited from `validate-vendor`, so fix all those.

Closes: #322

Signed-off-by: Ian Campbell <ijc@docker.com>
2018-03-28 10:52:16 +01:00
Akihiro Suda
2f2b72989c *: buildd -> buildkitd
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-19 13:23:27 +09:00
Akihiro Suda
2a33b2e822 *: update build tags (containerd -> no_oci_worker)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-18 15:47:56 +09:00
Akihiro Suda
c6690523eb Makefile: add install and clean
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-13 16:03:02 +09:00
Akihiro Suda
c3aa849014 multi-worker daemon
- [X] put multiples workers in a single binary ("-tags containerd standalone")
- [X] add worker selector to LLB vertex metadata
- [X] s/worker/executor/g
- [X] introduce the new "worker" concept https://github.com/moby/buildkit/pull/176#discussion_r153693928
- [X] fix up CLI
- [X] fix up tests
- allow using multiples workers (requires inter-vertex cache copier, HUGE!) --> will be separate PR

Implementation notes:
- "Workers" are renamed to "executors" now
- The new "worker" instance holds an "executor" instance and its
related stuffs such as the snapshotter
- The default worker is "runc-overlay"

Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-12-12 15:17:58 +09:00
Akihiro Suda
6ac87fd744 support building on windows (no functional worker yet)
Signed-off-by: Akihiro Suda <suda.akihiro@lab.ntt.co.jp>
2017-07-12 06:43:30 +00:00
Tonis Tiigi
b573060eea project: remove poc label
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-23 09:37:36 -07:00
Tonis Tiigi
e940830845 hack: add binary targets
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-06-19 16:10:09 -07:00
Tonis Tiigi
35e661faf3 sources: basic pull code
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-05-26 22:10:26 -07:00
Tonis Tiigi
9c8b68b555 cachemanager: add contructor
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-05-25 17:16:32 -07:00
Tonis Tiigi
1200788052 vendor: add vendoring script
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2017-05-25 16:26:45 -07:00