github.com/anacrolix/torrent@v1.61.0/.circleci/config.yml (about) 1 version: 2 2 jobs: 3 build: 4 machine: true 5 # This would be for if we didn't have machine: true. Could help with circleci local execute, which doesn't support VMs? 6 # docker: 7 # - image: cimg/go:1.13 8 environment: 9 GO_BRANCH: release-branch.go1.16 10 steps: 11 - run: echo $CIRCLE_WORKING_DIRECTORY 12 - run: echo $PWD 13 - run: echo $GOPATH 14 - run: echo 'export GOPATH=$HOME/go' >> $BASH_ENV 15 - run: echo 'export PATH="$GOPATH/bin:$PATH"' >> $BASH_ENV 16 - run: echo $GOPATH 17 - run: which go || sudo apt install golang-go 18 - run: go version 19 - run: | 20 cd /usr/local 21 sudo mkdir go.local 22 sudo chown `whoami` go.local 23 - restore_cache: 24 key: go-local- 25 - run: | 26 cd /usr/local 27 git clone git://github.com/golang/go go.local || true 28 cd go.local 29 git fetch 30 git checkout "$GO_BRANCH" 31 [[ -x bin/go && `git rev-parse HEAD` == `cat anacrolix.built` ]] && exit 32 cd src 33 ./make.bash || exit 34 git rev-parse HEAD > ../anacrolix.built 35 - save_cache: 36 paths: /usr/local/go.local 37 key: go-local-{{ checksum "/usr/local/go.local/anacrolix.built" }} 38 - run: echo 'export PATH="/usr/local/go.local/bin:$PATH"' >> $BASH_ENV 39 - run: go version 40 - checkout 41 - run: sudo apt-get update 42 - run: sudo apt install fuse pv 43 - restore_cache: 44 keys: 45 - go-pkg- 46 - restore_cache: 47 keys: 48 - go-cache- 49 - run: go get -d ./... 50 - run: go test -v -race ./... -count 2 51 - run: go test -bench . ./... 52 - run: set +e; CGO_ENABLED=0 go test -v ./...; true 53 - run: GOARCH=386 go test ./... -count 2 -bench . || true 54 - run: go install github.com/anacrolix/godo@latest 55 - save_cache: 56 key: go-pkg-{{ checksum "go.mod" }} 57 paths: 58 - ~/go/pkg 59 - run: sudo modprobe fuse 60 - run: fs/test.sh 61 - save_cache: 62 key: go-cache-{{ .Revision }} 63 paths: 64 - ~/.cache/go-build