- create save-cache-dir if not exists when uploading. See #81 by @calvinbui
- Fixes regression from #78.
- upload to s3 without local path. See #80 by @calvinbui
- Fixes regression from #76.
- create cache-dir if not exists. See #78 by @calvinbui
- Ability to skip uploading cache. See #79 by @calvinbui
- Fix typos and update readme. See #77 by @calvinbui
- configurable save-cache directory. See #75 by @calvinbui
- Don't upload to S3 if local cache exists. See #76 by @calvinbui
- fix #72 ignore corrupted save-cache. See #73 by @eshedg
- Add date formats to templates. See #71 by @pquerna
- Discard broken S3 downloads. See #65, #64 by @bradleyayers
- Remove existing tar file when cache always is set to
true
. See #59 by @jebentier
- Add
save-cache
property to s3 cache. @ingcsmoreno
- Sharing caches between pipelines. See #55 by @irphilli
- Fix restore on tarball backend. See #43 by @atty303
- Add support for reading env variables in cache key template. See #50 by @smilin-desperado
- Allow multithreaded compression using additional compressing tools like
pigz
viacompress-program
option. See #38.
- Add an option to allow caching on non-zero exit codes via
continue_on_error
option key. See #33. - Fix: S3 args are passed to head-object call which is incompatible with
cp
. See #35.
- Using
{{ git.branch }}
cache-key with a/
in the branch name. See #26.
- Use Array to prevent escaping arguments with quote on tar commands
- Final release for
compress
option key
- Tidied tarball calls
- Adjustable compression option. Now you can decide ratio from
0
to9
on compressed tarballs (Applies to tarball and s3 backends)
- Allow globs in tarballs when used with s3 with multiple paths. v2.4.4 only enabled for single path only.
- Allow globs in tarballs when used with s3
- Fixed unnecessary quotes on endpoint and region. This causes aws operation fail when
endpoint
andregion
used instead ofargs
.
- Added
id
key to supported cache key templates. You can use in your keys as{{ id }}
- Added
id
support to identify cache's by ID.
restore-keys
support for incremental cache and key lookup. Requiresjq
. See #20.git.commit
andgit.branch
support in cache key templates. See README.
- Don't upload anything unconditionally to S3. See #21.
- Add
endpoint
andregion
support to S3 backend. See README for this change. - Default path for
tarball
andrsync
is now set to/tmp
.
- Add $BK_AWS_ARGS to head-object call See #19.
- Fix README docker example
- Do not check for
busybox
on macOS. See #17.
- Added checking for
busybox
and fallback to lesser options oftar
. - Use
-exec
withrm -f
usingfind
instead of native-delete
option.
- Added
args
andclass
options tos3
backend. See README for details. - Small changes
- Many variables perepended with
BK_CACHE_
to avoid conflict with local variables. More will come.
- Added
{{ runner.os }}
helper to separate caches between runner operating systems.
- Added
compress
option tos3
andtarball
which creates tar.gz instead of tar.
- Add Glob Support on
paths
. See #13.
- Ability to skip cache on PR-triggered builds. See README.
- Fix possible failure at tarball cleanup. See #12. (@djmarcin)
- Modular system. Backends and shared functions goes into their own files.
- Improved templating support. Moving shared function to
shared.bash
See #8 and #9. (@djmarcin) - Added tests and rewarp the code. See #10. (@djmarcin)
- Concurrent writers to tar files clobber each other. See #6. (@djmarcin)
- Fix
--ignore-failed-read
which is not supported on macOS. See #5.
- Fix
"
and'
(single/double quotes) issues on docker image where used in EC2 instances.
- S3 uploads are now defiend in pipeline instead of ENV variables.
- Ability to hash directories.
- Improved terminal output with emojis (and printing current cache version)
- macOS compatibility
- Fix checksum for files with dashes in them
- Fix incorrect
tr
usage by @xthexder - Use
shasum
on macOS.
- Skip cache at top level if
key
not provided - Check if tar file exists on
s3
beforecp
. - Make AWS Profile optional
sync -> cp
command changed
- Skip cache if exit status is not zero
- Fix unbound variable
sha1sum
instead of shasum due to Linux AMI on AWS doesn't haveshasum
.- Added Tarball storage
- S3 Tarball
cp
feature - Skip create on tarball if cache key already exists
- Soft-fail on missing or vanished files on rsync (Won't fail your build)
- Soft-fail on missing folders on tarball (Won't fail your build)
- Keep X days of backups on tarball and remove olders if given by cache setting.
See original repository.