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