ci: enable cache

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
This commit is contained in:
CrazyMax 2022-05-06 11:55:49 +02:00
parent e0cffbdbdf
commit 519aca3672
No known key found for this signature in database
GPG Key ID: 3248E46B6BB8C7F7
4 changed files with 26 additions and 3 deletions

View File

@ -41,10 +41,16 @@ jobs:
uses: codecov/codecov-action@v2 uses: codecov/codecov-action@v2
with: with:
file: ./coverage/coverage.txt file: ./coverage/coverage.txt
-
name: Expose GitHub Runtime
uses: crazy-max/ghaction-github-runtime@v1
- -
name: Build binaries name: Build binaries
run: | run: |
make release make release
env:
CACHE_FROM: type=gha,scope=release
CACHE_TO: type=gha,scope=release
- -
name: Upload artifacts name: Upload artifacts
uses: actions/upload-artifact@v2 uses: actions/upload-artifact@v2

View File

@ -29,6 +29,10 @@ jobs:
uses: docker/bake-action@v1 uses: docker/bake-action@v1
with: with:
targets: binaries targets: binaries
set: |
*.cache-from=type=gha,scope=release
*.cache-from=type=gha,scope=binaries
*.cache-to=type=gha,scope=binaries
- -
name: Rename binary name: Rename binary
run: | run: |

View File

@ -44,13 +44,13 @@ FROM scratch AS test-coverage
COPY --from=test /tmp/coverage.txt /coverage.txt COPY --from=test /tmp/coverage.txt /coverage.txt
FROM scratch AS binaries-unix 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-darwin
FROM binaries-unix AS binaries-linux FROM binaries-unix AS binaries-linux
FROM scratch AS binaries-windows 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 FROM binaries-$TARGETOS AS binaries

View File

@ -4,9 +4,22 @@ set -eu -o pipefail
: ${BUILDX_CMD=docker buildx} : ${BUILDX_CMD=docker buildx}
: ${RELEASE_OUT=./release-out} : ${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 # release
(set -x ; ${BUILDX_CMD} bake --set "*.output=$RELEASE_OUT" release) (set -x ; ${BUILDX_CMD} bake "${cacheFlags[@]}" --set "*.output=$RELEASE_OUT" release)
# wrap binaries # wrap binaries
mv -f ./${RELEASE_OUT}/**/* ./${RELEASE_OUT}/ mv -f ./${RELEASE_OUT}/**/* ./${RELEASE_OUT}/