aboutsummaryrefslogtreecommitdiff
path: root/.circleci/config.yml
blob: 0db2f6baaf4facdc32a95738d98bc1015b415e37 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
version: 2
jobs:
  build:
    machine: true
    environment:
      GO_BRANCH: release-branch.go1.15
    steps:
      - run: echo $CIRCLE_WORKING_DIRECTORY
      - run: echo $PWD
      - run: echo $GOPATH
      - run: echo 'export GOPATH=$HOME/go' >> $BASH_ENV
      - run: echo 'export PATH="$GOPATH/bin:$PATH"' >> $BASH_ENV
      - run: echo $GOPATH
      - run: which go
      - run: go version
      - run: |
          cd /usr/local
          sudo mkdir go.local
          sudo chown `whoami` go.local
      - restore_cache:
          key: go-local-
      - run: |
          cd /usr/local
          git clone git://github.com/golang/go go.local || true
          cd go.local
          git fetch
          git checkout "$GO_BRANCH"
          [[ -x bin/go && `git rev-parse HEAD` == `cat anacrolix.built` ]] && exit
          cd src
          ./make.bash || exit
          git rev-parse HEAD > ../anacrolix.built
      - save_cache:
          paths: /usr/local/go.local
          key: go-local-{{ checksum "/usr/local/go.local/anacrolix.built" }}
      - run: echo 'export PATH="/usr/local/go.local/bin:$PATH"' >> $BASH_ENV
      - run: go version
      - checkout
      - restore_cache:
          keys:
            - go-pkg-
      - restore_cache:
          keys:
            - go-cache-
      - run: go get -d ./...
      - run: go test -v -race ./... -count 2
      - run: go test -bench . ./...
      - save_cache:
          key: go-pkg-{{ checksum "go.mod" }}
          paths:
            - ~/go/pkg
      - save_cache:
          key: go-cache-{{ .Revision }}
          paths:
            - ~/.cache/go-build