]> Sergey Matveev's repositories - btrtrc.git/blob - .circleci/config.yml
31eb3730ce6a8e704e13bc155cc3cfc5cf0423b9
[btrtrc.git] / .circleci / config.yml
1 version: 2
2 jobs:
3   build:
4     machine: true
5     environment:
6       GO_BRANCH: release-branch.go1.13
7     steps:
8       - run: echo $CIRCLE_WORKING_DIRECTORY
9       - run: echo $PWD
10       - run: echo $GOPATH
11       - run: echo 'export GOPATH=$HOME/go' >> $BASH_ENV
12       - run: echo 'export PATH="$GOPATH/bin:$PATH"' >> $BASH_ENV
13       - run: echo $GOPATH
14       - run: which go
15       - run: go version
16       - run: |
17           cd /usr/local
18           sudo mkdir go.local
19           sudo chown `whoami` go.local
20       - restore_cache:
21           key: go-local-
22       - run: |
23           cd /usr/local
24           git clone git://github.com/golang/go go.local || true
25           cd go.local
26           git fetch
27           git checkout "$GO_BRANCH"
28           [[ -x bin/go && `git rev-parse HEAD` == `cat anacrolix.built` ]] && exit
29           cd src
30           ./make.bash || exit
31           git rev-parse HEAD > ../anacrolix.built
32       - save_cache:
33           paths: /usr/local/go.local
34           key: go-local-{{ checksum "/usr/local/go.local/anacrolix.built" }}
35       - run: echo 'export PATH="/usr/local/go.local/bin:$PATH"' >> $BASH_ENV
36       - run: go version
37       - checkout
38       - run: sudo apt-get update
39       - run: sudo apt install fuse pv
40       - restore_cache:
41           keys:
42             - go-pkg-
43       - restore_cache:
44           keys:
45             - go-cache-
46       - run: go get -d ./...
47       - run: go test -v -race ./... -count 2 -bench .
48       - run: go test -bench . ./...
49       - run: set +e; CGO_ENABLED=0 go test -v ./...; true
50       - run: GOARCH=386 go test ./... -count 2 -bench .
51       - run: go install ./cmd/torrentfs
52       - save_cache:
53           key: go-pkg-{{ checksum "go.mod" }}
54           paths:
55             - ~/go/pkg
56       - run: sudo modprobe fuse
57       - run: fs/test.sh
58       - save_cache:
59           key: go-cache-{{ .Revision }}
60           paths:
61             - ~/.cache/go-build