108 Commits (next)

Author SHA1 Message Date
Sayan Nandan 0b0acd2038
release: v0.8.1
Also upgraded dependencies to latest compatible versions
6 months ago
Sayan Nandan fb3b100937
Fix tests
We also attempt to invalidate the build caches
8 months ago
Sayan Nandan 0453271c56
workflow: use `gh` cli instead of `hub` [skip ci]
Also update docs
9 months ago
Sayan Nandan bc7d02d8cf workflow: Fix release script [skip ci] 9 months ago
Sayan Nandan 8e0a94d4f9
Fix Docker workflow 9 months ago
Sayan Nandan 2b9a3ca6c1
Merge branch 'engine/v2' into next 10 months ago
Sayan Nandan 6904224eb1
Fix Docker images 10 months ago
Sayan Nandan 8c4009f2b8
Update docs and fix dpkg scripts [skip ci] 10 months ago
Sayan Nandan 87d11d6ddc
Simplify proto impls
Also removed perl from CI steps
10 months ago
Sayan Nandan a69093aa96
Implement new error tracing system
[ci] Update rust installation
12 months ago
Sayan Nandan e4836fd7b3
Skip saving artifacts [skip ci]
This wastes unnecessary space on our current plan
2 years ago
Sayan Nandan d201c74150
Remove PID file just before exit
Also upgrade GHA caching dep and fix imports that rustfmt
messed up.
3 years ago
Sayan Nandan 6234018077
Wait for servers to start/shut down instead of waiting blindly 3 years ago
Sayan Nandan bf3b62c077
Switch to Windows Server 2019
This might have been causing issues

Also, avoid path expansion on msys
3 years ago
Sayan Nandan e6ae290334
Fix CI script and resolve artifact name conflict
[skip ci] No need for testing this.
3 years ago
Sayan Nandan 60f625196f
Fix build matrix 3 years ago
Sayan Nandan e1bee46cac
Fix release CI script 3 years ago
Sayan Nandan c380a21b5f
No need to rename Debian packages
The Makefile does all of that for us.
3 years ago
Sayan Nandan 2e559f6733
Simplify release workflow 3 years ago
Sayan Nandan 6f28ff65b1
Move ARM release builds to Drone 3 years ago
Sayan Nandan 5bdcd0eb12
Move ARM64 CI entirely to drone 3 years ago
Sayan 2cdabfc43e
Automatically package Debian packages on release (#235)
* Add debian package generation

* Install cargo-deb on `make deb`

* Reload systemd daemon on postinst

* Add auto upload for Debian packages

* Consider using runner.os for simplicity
3 years ago
Sayan Nandan ce8b6e2340
Disable caching on ARM64 CI
Caching only adds latency to the entire workflow, so we'll disable
it until GitHub fixes the issue with their caching on IPv6.
3 years ago
Sayan Nandan dff703e843 Don't bench on push [skip ci] 3 years ago
Sayan Nandan b6470c3585 Auto bench on release and push 3 years ago
Sayan Nandan 5e9c806193 Fix doc rebuild workflow 3 years ago
Sayan Nandan 18e8f74f0a Add new actiondoc
Also moved actiondoc rebuild to separate workflow
3 years ago
Sayan Nandan 0ee25814ea Enable colored output on CI
This greatly improves readability of the otherwise dull logs
3 years ago
Sayan Nandan 7b26488c38 Ensure that we install the required perl modules 3 years ago
Sayan Nandan bdfaf6ec4d Ensure that perl doesn't error 3 years ago
Sayan e30d51a599
Release v0.6.2 (#180)
* Bump up version and add changelog entry

* Use separate cache object for release workflows
3 years ago
Sayan Nandan aaa84b150e Fix release script
Use hub to upload release assets
3 years ago
Sayan 3f0fc340c7
Add automated builds for ARM (#179)
* 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
3 years ago
Sayan Nandan 71de7b7cca Only run stress test when asked for
If any user needs a stress test, they just need to pass [stress-ci] in
their commit message.
3 years ago
Sayan Nandan f9f49aee0b Use num_cpus to get number of cores 3 years ago
Sayan Nandan 4bd717b899 Autorun stress tests on push 3 years ago
Sayan Nandan bc8934e6ba Add tests for ARM64 3 years ago
Sayan c2030d676e
Auto install any dependencies (#174) 3 years ago
Sayan 8bed8c9c2a
Use Makefile for builds (#172)
* Add makefile

* Use makefile for builds

* Fix start_server command on Windows

* Use `&` for backgrounding

Since mingw on Windows provides a bash shell, we can just use this

* Use `cmd` as shell for Windows builds

* Use `start` for backgrounding on Windows

* No need for chmod

* Specify target for server to start up

* Sleep to let the server start up

* Update build docs
3 years ago
Sayan Nandan e1a60dd361 Remove labelling workflow
Our bot glydr now does this automatically on the server-side, so this
isn't required.
3 years ago
Sayan 956d3beb53
Bump up version, add changelog and update scripts (#159)
* Bump up version, add changelog and update scripts

* Fix actiondoc

* Drop all `since` keys

Since our docs are now well versioned and doesn't read these keys
anymore, we can safely remove them.
3 years ago
Sayan 790558d2c7
Improve reliability, simplicity and recoverability of BGSAVE (#153)
* Create a new file on writing to flock-ed file

This fix is a very important one in two ways. Say we have an user A.
They go ahead and launch skyd. skyd creates a data.bin file. Now A just
deletes the data.bin file for fun. Funny enough, this never causes flock
to error!
Why? Well because the descriptor/handle is still valid and was just
unlinked from the current directory. But this might seem silly since
the user exits with a 'successfully saved notice' only to find that the
file never existed and all of their data was lost. That's bad.
There's a hidden problem in our current approach too, apart from this.
Our writing process begins by truncating the old file and then writing
to it by placing the cursor at 0. Nice, but what if this operation just
crashes. So we lost the current data AND the old data. Not good.

This commit does a better thing: it creates a new temporary file, locks
it before writing and then flushes the current data to the temporary
file. Once that succeeds, it replaces the old data.bin file with the
newly created file.

This solves both the problems mentioned here for us:
1. No more of the silly error
2. If BGSAVE crashes in between, we can be sure that at least the last
data.bin file is in proper shape and not half truncated or so.

This commit further moves the background services into their
own module(s) for easy management.

* Fix CI scripts

Fixes:
1. Our custom runner (drone/.ci.yml) was modified to kill the skyd
process once done since this pipeline is not ephemeral.
2. GHA for some reason ignores any error in the test step and proceeds
to kill the skyd process without erroring. Since GHA runners are
ephemeral, we don't need to do this manually.
3 years ago
Sayan Nandan 8d3d878b81 Build binary before attempting to run it
The background process may or may not complete before the testing begins
3 years ago
Sayan Nandan 34134aa29b Fix using old binary for testing on Windows 3 years ago
Sayan Nandan 53a0082890 Make sure skyd is killed after testing on Windows 3 years ago
Sayan Nandan 6b47279b1b Fix CI script and improve terminal artwork 3 years ago
Sayan Nandan bcca83c7ff Use single thread for all tests 3 years ago
Sayan Nandan 5d617eae84 Start the database server before running the tests 3 years ago
Sayan Nandan 6ab73958f2 Fix release script
We accidentally tried to build linux-gnu (x86_64) on Windows!
3 years ago
Sayan Nandan 3699cc4720
Add support for MUSL x86_64 and fix CI scripts (#145) 3 years ago