all: recent (?) increase in time to run tests on Travis
not sure how critical this is (but having an "agile" CI infrastructure is really important to me): it seems each entry in the Travis build matrix is taking about 20mn to build+test. the total for each PR is then around 5h.
I think it's a bit much:
$> go get -t -v ./... ## 15s
$> go test -a $TAGS -v ./... ## 454s
here is the list of top consumers:
ok gonum.org/v1/gonum/lapack/gonum 159.983s
ok gonum.org/v1/gonum/stat/distuv 127.333s
ok gonum.org/v1/gonum/mat 90.025s
ok gonum.org/v1/gonum/graph/community 88.905s
ok gonum.org/v1/gonum/graph/path 46.357s
ok gonum.org/v1/gonum/optimize 40.068s
ok gonum.org/v1/gonum/stat/distmv 34.287s
ok gonum.org/v1/gonum/optimize/convex/lp 33.817s
ok gonum.org/v1/gonum/fourier 22.269s
ok gonum.org/v1/gonum/graph/graphs/gen 17.038s
ok gonum.org/v1/gonum/mathext 6.792s
ok gonum.org/v1/gonum/stat/samplemv 5.381s
ok gonum.org/v1/gonum/mathext/internal/amos 5.119s
ok gonum.org/v1/gonum/stat/sampleuv 3.686s
ok gonum.org/v1/gonum/blas/gonum 2.841s
ok gonum.org/v1/gonum/integrate 2.339s
ok gonum.org/v1/gonum/graph/topo 1.148s
extracted (manually -- some errors not unexpected) from https://travis-ci.org/gonum/gonum/jobs/479273645
perhaps something could be done to somewhat reduce the amount of time it takes to run all these tests?
- use a build cache (this will prevent re-running tests across PRs) (example from Go-HEP where I also had to use this feature to decrease the PR turn-around-time)
- optimize the tests
- reduce the amount of tests
WDYT?
BTW, shouldn't these lines:
script:
- go get -d -t -v ./...
- go build -v ./...
- go test -a $TAGS -v ./...
read instead:
script:
- go get -d -t $TAGS -v ./...
- go build $TAGS -v ./...
- go test -a $TAGS -v ./...
?