]> Sergey Matveev's repositories - btrtrc.git/blob - .circleci/config.yml
Cache the GOCACHE
[btrtrc.git] / .circleci / config.yml
1 version: 2
2 jobs:
3   build:
4     machine: true
5     environment:
6       # PROJECT_GO_PACKAGE: github.com/anacrolix/torrent
7     # Should use PROJECT_GO_PACKAGE here but it's not interpolated for this
8     # field. https://discuss.circleci.com/t/environment-variable-expansion-in-
9     # working-directory/11322/4
10     # working_directory: ~/go/src/github.com/anacrolix/torrent
11     steps:
12       # - run: echo $PROJECT_GO_PACKAGE
13       - run: echo $CIRCLE_WORKING_DIRECTORY
14       - run: echo $PWD
15       - run: echo $GOPATH
16       - run: echo 'export GOPATH=$HOME/go' >> $BASH_ENV
17       - run: echo 'export PATH="$GOPATH/bin:$PATH"' >> $BASH_ENV
18       - run: echo $GOPATH
19       - run: which go
20       - run: go version
21       - run: cd /usr/local && sudo rm -r go && sudo mkdir go go1.4 && sudo chown `whoami` go go1.4
22       - run: cd /usr/local && git clone git://github.com/golang/go 
23       - run: cd /usr/local/go && git branch -f -t go1.4 origin/release-branch.go1.4 && cd .. && git clone --single-branch -b go1.4 go go1.4
24       - run: cd /usr/local/go1.4/src && ./make.bash 
25       - run: cd /usr/local/go/src && GOROOT_BOOTSTRAP=/usr/local/go1.4 ./make.bash
26       - run: go version
27       - checkout
28       - run: sudo apt-get update
29       - run: sudo apt install fuse pv
30       - restore_cache:
31           keys:
32             - go-pkg
33       - restore_cache:
34           keys:
35             - go-cache
36       - run: go get -d ./...
37       - run: go test -v -race ./... -count 2
38       - run: go test -bench . ./...
39       - run: set +e; CGO_ENABLED=0 go test -v ./...; true
40       - run: go install golang.org/x/mobile/cmd/gomobile
41       - run: gomobile init
42       - run: gomobile build -target=android $PROJECT_GO_PACKAGE
43       # - run: GO111MODULE=off go install github.com/anacrolix/godo
44       - run: go install ./cmd/torrentfs
45       - save_cache:
46           key: go-pkg-{{ epoch }}
47           paths:
48             - ~/go/pkg
49       - run: sudo modprobe fuse
50       - run: fs/test.sh
51       - save_cache:
52           key: go-cache-{{ epoch }}
53           paths:
54             - ~/.cache/go-build
55           when: always