2017-08-27 00:10:17 +08:00
|
|
|
version: 2
|
|
|
|
jobs:
|
|
|
|
build:
|
2017-08-29 12:02:30 +08:00
|
|
|
machine: true
|
2020-03-29 08:38:25 +08:00
|
|
|
# This would be for if we didn't have machine: true. Could help with circleci local execute, which doesn't support VMs?
|
|
|
|
# docker:
|
|
|
|
# - image: cimg/go:1.13
|
2017-08-29 12:02:30 +08:00
|
|
|
environment:
|
2021-01-30 09:31:01 +08:00
|
|
|
GO_BRANCH: release-branch.go1.16
|
2017-08-27 00:10:17 +08:00
|
|
|
steps:
|
2017-08-29 12:02:30 +08:00
|
|
|
- run: echo $CIRCLE_WORKING_DIRECTORY
|
|
|
|
- run: echo $PWD
|
2019-01-08 13:37:40 +08:00
|
|
|
- run: echo $GOPATH
|
2017-08-29 12:02:30 +08:00
|
|
|
- run: echo 'export GOPATH=$HOME/go' >> $BASH_ENV
|
|
|
|
- run: echo 'export PATH="$GOPATH/bin:$PATH"' >> $BASH_ENV
|
|
|
|
- run: echo $GOPATH
|
2020-03-29 08:38:25 +08:00
|
|
|
- run: which go || sudo apt install golang-go
|
2017-08-29 12:02:30 +08:00
|
|
|
- run: go version
|
2019-01-09 16:55:55 +08:00
|
|
|
- run: |
|
|
|
|
cd /usr/local
|
2019-04-24 07:34:51 +08:00
|
|
|
sudo mkdir go.local
|
|
|
|
sudo chown `whoami` go.local
|
2019-01-09 16:55:55 +08:00
|
|
|
- restore_cache:
|
2019-04-24 07:34:51 +08:00
|
|
|
key: go-local-
|
2019-01-09 16:55:55 +08:00
|
|
|
- run: |
|
|
|
|
cd /usr/local
|
2019-04-24 07:34:51 +08:00
|
|
|
git clone git://github.com/golang/go go.local || true
|
|
|
|
cd go.local
|
|
|
|
git fetch
|
|
|
|
git checkout "$GO_BRANCH"
|
2019-01-09 16:55:55 +08:00
|
|
|
[[ -x bin/go && `git rev-parse HEAD` == `cat anacrolix.built` ]] && exit
|
|
|
|
cd src
|
|
|
|
./make.bash || exit
|
|
|
|
git rev-parse HEAD > ../anacrolix.built
|
|
|
|
- save_cache:
|
2019-04-24 07:34:51 +08:00
|
|
|
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
|
2017-08-29 12:02:30 +08:00
|
|
|
- run: go version
|
2017-08-27 00:10:17 +08:00
|
|
|
- checkout
|
2017-10-12 13:32:11 +08:00
|
|
|
- run: sudo apt-get update
|
2017-08-29 12:02:30 +08:00
|
|
|
- run: sudo apt install fuse pv
|
2019-01-08 13:57:33 +08:00
|
|
|
- restore_cache:
|
2019-01-08 13:59:49 +08:00
|
|
|
keys:
|
2019-01-09 16:55:55 +08:00
|
|
|
- go-pkg-
|
2019-01-09 09:25:06 +08:00
|
|
|
- restore_cache:
|
|
|
|
keys:
|
2019-01-09 16:55:55 +08:00
|
|
|
- go-cache-
|
2019-01-09 08:21:49 +08:00
|
|
|
- run: go get -d ./...
|
2021-02-24 10:48:05 +08:00
|
|
|
- run: go test -v -race ./... -count 2
|
2018-07-25 16:57:49 +08:00
|
|
|
- run: go test -bench . ./...
|
|
|
|
- run: set +e; CGO_ENABLED=0 go test -v ./...; true
|
2020-10-28 09:09:24 +08:00
|
|
|
- run: GOARCH=386 go test ./... -count 2 -bench . || true
|
2021-02-15 18:44:52 +08:00
|
|
|
- run: go install github.com/anacrolix/godo@latest
|
2019-01-08 13:57:33 +08:00
|
|
|
- save_cache:
|
2019-01-09 16:55:55 +08:00
|
|
|
key: go-pkg-{{ checksum "go.mod" }}
|
2019-01-08 13:59:49 +08:00
|
|
|
paths:
|
2019-01-09 08:23:07 +08:00
|
|
|
- ~/go/pkg
|
2017-08-29 12:02:30 +08:00
|
|
|
- run: sudo modprobe fuse
|
|
|
|
- run: fs/test.sh
|
2019-01-09 09:25:06 +08:00
|
|
|
- save_cache:
|
2019-01-09 16:55:55 +08:00
|
|
|
key: go-cache-{{ .Revision }}
|
2019-01-09 09:25:06 +08:00
|
|
|
paths:
|
|
|
|
- ~/.cache/go-build
|