Christian Schwarz
4994b7a9ea
rpc/dataconn + build: support GOOS={solaris,illumos}
2019-11-16 22:07:47 +01:00
Christian Schwarz
080f2c0616
build: Makefile: refactor cross-builds + release, add i386 targets
2019-11-16 22:07:47 +01:00
Christian Schwarz
e0a25d04ac
build: Makefile: set GO111MODULE=on for all go commands
2019-11-16 22:07:47 +01:00
Christian Schwarz
1048b09487
build: include config examples and dist in noarch tarball
2019-10-18 20:18:42 +02:00
Christian Schwarz
58ab25919e
platformtest: dedicated pool per test, Makefile target, maintainer notice
...
fixes #216
fixes #211
2019-09-29 18:48:44 +02:00
Christian Schwarz
77d3a1ad4d
build: drop go Dep, switch to modules, support Go 1.13
...
bump enumer to v1.1.1
bump golangci-lint to v1.17.1
no `go mod tidy` because 1.13 and 1.12 seem to alter each other's output
fixes #112
2019-09-14 13:36:44 +02:00
Christian Schwarz
234a327a03
build: Linux arm64 support
...
* protoc zip fetching
* Makefile:
* GOOS and GOARCH
* run vet on all targets
Note: freebsd/arm64 is apparently not supported
fixes #180
refs #181
2019-06-23 15:25:26 +02:00
Christian Schwarz
5b256a92b3
include linting in build process
2019-03-27 13:12:26 +01:00
Christian Schwarz
cd829bd79a
pin formatter and linter as deps
2019-03-27 13:12:26 +01:00
Christian Schwarz
5b97953bfb
run golangci-lint and apply suggested fixes
2019-03-27 13:12:26 +01:00
Christian Schwarz
afed762774
format source tree using goimports
2019-03-22 19:41:12 +01:00
Christian Schwarz
07b43bffa4
replication: refactor driving logic (no more explicit state machine)
2019-03-13 15:00:40 +01:00
Christian Schwarz
796c5ad42d
rpc rewrite: control RPCs using gRPC + separate RPC for data transfer
...
transport/ssh: update go-netssh to new version
=> supports CloseWrite and Deadlines
=> build: require Go 1.11 (netssh requires it)
2019-03-13 13:53:48 +01:00
Christian Schwarz
ea719f5b5a
build: use 'git describe --always' to determine ZREPL_VERSION
2019-03-13 00:07:33 +01:00
Christian Schwarz
38b0bd76f5
build: just use go {test,vet} ./... for targets vet, test and generate
2018-12-11 22:00:03 +01:00
Christian Schwarz
707f070a3c
build: fix dirty detection at the end of release build
...
was using Bashisms
2018-12-01 14:36:40 +01:00
Christian Schwarz
b2844569c8
replication: rewrite error handling + simplify state machines
...
* Remove explicity state machine code for all but replication.Replication
* Introduce explicit error types that satisfy interfaces which provide
sufficient information for replication.Replication to make intelligent
retry + queuing decisions
* Temporary()
* LocalToFS()
* Remove the queue and replace it with a simple array that we sort each
time (yay no generics :( )
2018-10-21 18:37:57 +02:00
Christian Schwarz
6e21a67473
build: detect if generate made things dirty and break release build in that case
2018-10-19 17:52:49 +02:00
Christian Schwarz
17ab39d646
build: add missing subpackages
2018-10-19 17:23:00 +02:00
Christian Schwarz
de2768c91d
build: produce darwin binaries
2018-10-13 16:57:25 +02:00
Christian Schwarz
87c8957889
build: fixup be962998ba
: broken makefile
2018-10-13 16:22:19 +02:00
Christian Schwarz
9e941d5be5
pruning: implement 'grid' keep rule
2018-09-24 17:33:16 +02:00
Christian Schwarz
52f0c0c33b
update Makefile
2018-09-04 17:19:59 -07:00
Christian Schwarz
428339e1ad
move version info to separate package
2018-08-26 21:58:20 +02:00
Christian Schwarz
cf01086df5
build: pin protoc version and update protobuf + regenerate
2018-08-26 14:35:18 +02:00
Christian Schwarz
301c7b2dd5
restructure and rename, making mainfsm the replication package itself
2018-08-22 00:14:12 +02:00
Christian Schwarz
38532abf45
enforce encapsulation by breaking up replication package into packages
...
not perfect yet, public shouldn't be required to use 'common' package to
use replication package
2018-08-16 21:05:21 +02:00
Christian Schwarz
8cca0a8547
Initial working version
...
Summary:
* Logging is still bad
* test output in a lot of placed
* FIXMEs every where
Test Plan: None, just review
Differential Revision: https://phabricator.cschwarz.com/D2
2018-06-24 10:44:00 +02:00
Christian Schwarz
61af396fdd
build: render release artifacts into subdirectory
...
* reproducible tarball
* includes go version
* sha512sum
The sha512 sum file should be signed manually, don't want that in the
Makefile because we may build in docker.
2018-02-18 16:46:54 +01:00
Christian Schwarz
759dae4552
build: further fixups of ccd062e
: remove ref to deleted sshbytestream subpkg
2018-02-17 14:28:04 +01:00
Christian Schwarz
746fb4ff88
build: include generate step in release build + warn of dirty git working copy
2017-12-29 22:34:14 +01:00
Christian Schwarz
d7f3fb93ae
bash completions: hidden subcommand + integrate into Makefile
2017-12-27 14:39:46 +01:00
Christian Schwarz
2716c75ad5
build: target for go library dependencies
...
Didn't notice it because vendor/ was already populated on my dev
machine, but did notice it in Docker build.
Docker build now consumes devsetup like regular user, so this should
catch future problems.
Remove remaining curl|shit functionality from lazy.sh (no checkout logic
needed anymore).
refs #35
2017-11-19 12:34:01 +01:00
Christian Schwarz
896f31bbf3
'zrepl version' and 'zrepl control version' subcommand + maintainer README
...
Version is autodetected on build using git
If it cannot be detected with git, an override must be provided.
For tracability of distros, the distroy packagers should override as
well, which is why I added a README entry for package mainatiners.
refs #35
2017-11-18 21:12:48 +01:00
Christian Schwarz
445a280aa2
build: include docs in release artifacts + use sphinxcontrib-versioning
...
refs #35
2017-11-18 16:28:06 +01:00
Christian Schwarz
b276787dd4
Makefile: use ARTIFACTDIR variable everywhere
...
refs #35
2017-11-18 16:20:14 +01:00
Christian Schwarz
9e48c70f58
Makefile: fix default goal
2017-11-12 21:41:34 +01:00
Christian Schwarz
47726ad877
improve install from source
...
* Idempotent clone_and_build.sh does everything
* Add documentation for how to build in Docker
Had to sacrificy go generate because stringer apparently can't handle
vendor directory used by go dep, fails with error
on go generate rpc/frame_layer.go
refs #37
2017-11-12 16:15:12 +01:00
Christian Schwarz
775bc5caf6
Rudimentary Makefile specifying requirements for a release
2017-09-30 16:40:39 +02:00