I came across an interesting scenario that led to the discovery of this bug:
if a keyspace is created before a snapshot cycle and before termsig/bgsave,
and then the snapshot cycle runs, then the subsequent runs of bgsave/termsig
would fail. The reason behind this interesting bug turns out to be rather
trivial.
Since the `flush_full` routine, regardless of storage targets would untrip
the PRELOAD switch, the snapshot target as expected untrips the switch. Now,
this means that a tree re-init is not run by BGSAVE or save on termsig.
As a consequence, while attempting to run bgsave/save on termsig, the new
keyspace directories are not found, resulting in flush failure. This commit
fixes it my simply checking if the target should untrip the switch or not.
Tests for the same were added
* Move arm64 tests into test workflow
* Archive artifacts for arm64
* Fix missing target
* Add upload assets step
* Simplify packaging
* Use caching on ARM runners and remove is_md_file
Since GH now supports `skip ci`, we don't need this anymore
* Save artifacts for ARM64
* Simplify hashing condition
* Fix caching condition
* Use IPv6 for wget
* Don't use https for wget
* Add automatic release for ARM64
The upload-release-asset action only supports files and not entire dirs.
I had expected it to zip an item if it were a directory; but I was wrong
This commit zips everything before attempting to upload the artifacts
* Checkout the PR branch if triggered by a PR
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
* Use `cmd` as the shell on Windows to fix builds
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
#104 did this for pushes; this will do it for releases.
* Fix Windows release script
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
* No need to checkout to head.ref for PRs
Signed-off-by: Sayan Nandan <nandansayan@outlook.com>
In previous commits, we ignored the fact that bools are strings in bash
This caused the workflow to proceed wrongly and this commit fixes that
Also, auto builds for actions docs were added