]> Sergey Matveev's repositories - btrtrc.git/blob - .circleci/config.yml
Drop support for go 1.20
[btrtrc.git] / .circleci / config.yml
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