fix: Allow docker driver to properly use cache (#126)
This fix involves creating a new function for the `BuildDriver` trait called `build_tag_push`. In order to get the proper logic in place to make use of `docker buildx`, I had to create a separate function that would construct the build command to include all of the tags necessary for pushing. A default implementation of `build_tag_push` will be used for `podman` and `buildah` which was originally from the build command's functions. Now that we have custom logic for docker builds, we can take advantage of using the GitHub cache features without having the `--load` arg which had a big negative effect on build times. We can now also use docker for creating local `oci-archive` tarballs for local rebasing. Making use of the `oci-archive` will require the user to create a `docker-container` builder as it is not supported on the standard `docker` builder. https://docs.docker.com/build/exporters/oci-docker/
This commit is contained in:
parent
5fc4096f0f
commit
7c34d0c5a8
11 changed files with 304 additions and 193 deletions
2
.github/workflows/build-pr.yml
vendored
2
.github/workflows/build-pr.yml
vendored
|
|
@ -91,7 +91,6 @@ jobs:
|
|||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
with:
|
||||
driver: docker
|
||||
install: true
|
||||
|
||||
- name: Earthly login
|
||||
|
|
@ -119,6 +118,7 @@ jobs:
|
|||
GH_TOKEN: ${{ github.token }}
|
||||
GH_PR_EVENT_NUMBER: ${{ github.event.number }}
|
||||
COSIGN_PRIVATE_KEY: ${{ secrets.TEST_SIGNING_SECRET }}
|
||||
BB_BUILDKIT_CACHE_GHA: true
|
||||
run: |
|
||||
cd integration-tests/test-repo
|
||||
if [ -n "$GH_TOKEN" ] && [ -n "$COSIGN_PRIVATE_KEY" ]; then
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue