From 519aca3672b9c3fda6ffd7563b27343175c6939e Mon Sep 17 00:00:00 2001 From: CrazyMax Date: Fri, 6 May 2022 11:55:49 +0200 Subject: [PATCH] ci: enable cache Signed-off-by: CrazyMax --- .github/workflows/build.yml | 6 ++++++ .github/workflows/e2e.yml | 4 ++++ Dockerfile | 4 ++-- hack/release | 15 ++++++++++++++- 4 files changed, 26 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 38790eed..afb2afa5 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -41,10 +41,16 @@ jobs: uses: codecov/codecov-action@v2 with: file: ./coverage/coverage.txt + - + name: Expose GitHub Runtime + uses: crazy-max/ghaction-github-runtime@v1 - name: Build binaries run: | make release + env: + CACHE_FROM: type=gha,scope=release + CACHE_TO: type=gha,scope=release - name: Upload artifacts uses: actions/upload-artifact@v2 diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.yml index 6c9fe33e..7b244e48 100644 --- a/.github/workflows/e2e.yml +++ b/.github/workflows/e2e.yml @@ -29,6 +29,10 @@ jobs: uses: docker/bake-action@v1 with: targets: binaries + set: | + *.cache-from=type=gha,scope=release + *.cache-from=type=gha,scope=binaries + *.cache-to=type=gha,scope=binaries - name: Rename binary run: | diff --git a/Dockerfile b/Dockerfile index 13539765..d61cb0be 100644 --- a/Dockerfile +++ b/Dockerfile @@ -44,13 +44,13 @@ FROM scratch AS test-coverage COPY --from=test /tmp/coverage.txt /coverage.txt FROM scratch AS binaries-unix -COPY --from=buildx-build /usr/bin/buildx / +COPY --link --from=buildx-build /usr/bin/buildx / FROM binaries-unix AS binaries-darwin FROM binaries-unix AS binaries-linux FROM scratch AS binaries-windows -COPY --from=buildx-build /usr/bin/buildx /buildx.exe +COPY --link --from=buildx-build /usr/bin/buildx /buildx.exe FROM binaries-$TARGETOS AS binaries diff --git a/hack/release b/hack/release index cde2041b..f47a1d5f 100755 --- a/hack/release +++ b/hack/release @@ -4,9 +4,22 @@ set -eu -o pipefail : ${BUILDX_CMD=docker buildx} : ${RELEASE_OUT=./release-out} +: ${CACHE_FROM=} +: ${CACHE_TO=} + +if [ -n "$CACHE_FROM" ]; then + for cfrom in $CACHE_FROM; do + cacheFlags+=(--set "*.cache-from=$cfrom") + done +fi +if [ -n "$CACHE_TO" ]; then + for cto in $CACHE_TO; do + cacheFlags+=(--set "*.cache-to=$cto") + done +fi # release -(set -x ; ${BUILDX_CMD} bake --set "*.output=$RELEASE_OUT" release) +(set -x ; ${BUILDX_CMD} bake "${cacheFlags[@]}" --set "*.output=$RELEASE_OUT" release) # wrap binaries mv -f ./${RELEASE_OUT}/**/* ./${RELEASE_OUT}/