Skip to content

tonistiigi/buildkit-bench

 
 

Repository files navigation

BuildKit Benchmarks

CI Status

This repository contains a set of benchmarks for BuildKit that run on GitHub Actions public runners. Results are published on GitHub Pages.


Usage

To run locally, you can use the following command:

make test

This runs all tests and benchmarks from ./test package with BuildKit changes from default branch. You can also specify a commit to test or multiple references and tweak the benchmark settings:

# run a specific benchmark
TEST_BENCH_REGEXP=/BenchmarkBuildLocal$ make test

# run all benchmarks 3 times (default 1)
TEST_BENCH_RUN=3 make test

# run enough iterations of each benchmark to take 2s (default 0.01s)
TEST_BENCH_TIME=2s make test

# run all with master, v0.9.3 and v0.16.0 git references
BUILDKIT_REFS=master,v0.9.3,v0.16.0 make test

Note

Set TEST_KEEP_CACHE=1 for the test framework to keep external dependant images in a docker volume if you are repeatedly calling ./hack/test script. This helps to avoid rate limiting on the remote registry side.

After running the tests, you can generate the HTML report and serve the website with:

make gen
...
[+] Running 1/0
 ✔ Container website-serve-1  Created                                                                                                                                                                     0.0s 
Attaching to serve-1
serve-1  | Running generateResults.js...
serve-1  | /src/public/results.json has been generated successfully.
serve-1  |  INFO  Starting development server...
 DONE  Compiled successfully in 947ms2:39:29 PM
serve-1  |
                                                                                                                                                                                                               
serve-1  |   App running at:
serve-1  |   - Local:   http://localhost:8080/
serve-1  |
serve-1  |   It seems you are running Vue CLI inside a container.
serve-1  |   Access the dev server via http://localhost:<your container's external mapped port>/
serve-1  |
serve-1  |   Note that the development build is not optimized.
serve-1  |   To create a production build, run yarn build.
serve-1  |
Build finished at 14:39:29 by 0.000s

Then open http://localhost:8080 in your browser.

License

This project is licensed under the Apache License, Version 2.0 - see the LICENSE file for details.

About

Set of benchmarks for BuildKit

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Go 91.8%
  • Dockerfile 2.6%
  • Vue 1.9%
  • HCL 1.4%
  • Shell 1.1%
  • JavaScript 0.7%
  • Other 0.5%