Assume #16916 as baseline. The E2E takes `1395.082s`.
* https://github.com/etcd-io/etcd/pull/16988
It introduced `TestAuthority` which takes `18.39s`.
And after https://github.com/etcd-io/etcd/pull/16997, it takes `50.05s`.
* https://github.com/etcd-io/etcd/pull/16995
It introduced `TestInPlaceRecovery` which takes `17.37s`.
* https://github.com/etcd-io/etcd/pull/17144
- New `TestHTTPHealthHandler` takes `29.9s`
- New `TestHTTPLivezReadyzHandler` takes `35.20s`
* https://github.com/etcd-io/etcd/pull/17173
- New `TestMemberReplace` takes `7.55s`.
Ideally, it should increase `140.07s`. It's not larger than `1800s`
timeout value.
However, we run E2E cases 3 times. By default, we run E2E cases with
`-cpu 1,2,4`. That means that we run 3 times.
`1395.082s` + `140.07s * 3` = `1815.292s` > `1800s`
```bash
$ go help testflag
-count n
Run each test, benchmark, and fuzz seed n times (default 1).
If -cpu is set, run n times for each GOMAXPROCS value.
Examples are always run once. -count does not apply to
fuzz tests matched by -fuzz.
```
I don't think we should run E2E with different GOMAXPROCS value. All the
`TestXYZ` are used to control etcd process and we don't set GOMAXPROCS
env to etcd process.
Set `CPU=4` to align with main and release/3.5.
Closes: #17241
Signed-off-by: Wei Fu <fuweid89@gmail.com>
Items resolved:
1. fix the vet error: possible misuse of reflect.SliceHeader;
2. fix the vet error: call to (*T).Fatal from a non-test goroutine;
3. bump package golang.org/x/crypto, net and sys;
4. bump boltdb from 1.3.3 to 1.3.6;
5. remove the vendor directory;
6. remove go 1.12.17 and 1.15.15, add go 1.16.15 into pipeline;
7. bump go version to 1.16 in go.mod;
8. fix the issue: compile: version go1.16.15 does not match go tool version go1.17.11,
refer to https://github.com/actions/setup-go/issues/107;
9. fix data race on compactMainRev and watcherGauge;
10. fix test failure for TestLeasingTxnOwnerGet in cluster_proxy mode.
Signed-off-by: Benjamin Wang <wachao@vmware.com>
Update go to 1.15.15 which is the latest of 1.15 because linux-amd64-fmt fails with go 1.15.13.
Signed-off-by: Yusuke Suzuki <yusuke-suzuki@cybozu.co.jp>