Update Dockerfiles to use BuildKit, which allows for caching and other features to speed up builds
This PR contains some additional minor changes:
Remove Dockerfile.stretch. This was deprecated as Debian Stretch is EOL
Fix job build-stacks-2_1. Again, this was using the Debian Stretch image and it looks like the APT repos for that are down. Note that build-layer-1-tests is still failing, will fix in future PR.
Additional info (benefits, drawbacks, caveats)
Using BuildKit allows for all the Cargo dependencies and build files to persist between builds. Instead of spending ~10 minutes building from scratch each time, repeat builds now happen almost instantly:
❯ DOCKER_BUILDKIT=1 time docker build .
...
real 0m2.168s
user 0m0.383s
sys 0m0.124s
Checklist
[ ] Test coverage for new or modified code paths
[ ] Changelog is updated
[ ] Required documentation changes (e.g., docs/rpc/openapi.yaml and rpc-endpoints.md for v2 endpoints, event-dispatcher.md for new events)
[ ] New clarity functions have corresponding PR in clarity-benchmarking repo
[ ] New integration test(s) added to bitcoin-tests.yml
Description
Update Dockerfiles to use BuildKit, which allows for caching and other features to speed up builds
This PR contains some additional minor changes:
Dockerfile.stretch
. This was deprecated as Debian Stretch is EOLbuild-stacks-2_1
. Again, this was using the Debian Stretch image and it looks like the APT repos for that are down. Note thatbuild-layer-1-tests
is still failing, will fix in future PR.Additional info (benefits, drawbacks, caveats)
Using BuildKit allows for all the Cargo dependencies and build files to persist between builds. Instead of spending ~10 minutes building from scratch each time, repeat builds now happen almost instantly:
Checklist
docs/rpc/openapi.yaml
andrpc-endpoints.md
for v2 endpoints,event-dispatcher.md
for new events)clarity-benchmarking
repobitcoin-tests.yml