3 on: [push, pull_request]
15 - uses: actions/checkout@v2
18 if: matrix.go-version != 'tip'
19 uses: actions/setup-go@v2
21 go-version: ${{ matrix.go-version }}
24 if: matrix.go-version == 'tip'
26 git clone --depth=1 https://go.googlesource.com/go "$HOME/gotip"
29 echo "GOROOT=$HOME/gotip" >> "$GITHUB_ENV"
30 echo "$HOME/gotip/bin:$PATH" >> "$GITHUB_PATH"
31 echo "$(go env GOPATH)/bin:$PATH" >> "$GITHUB_PATH"
34 run: go test -race -count 2 ./...
36 - name: Test Benchmarks
37 run: go test -race -run @ -bench . -benchtime 2x ./...
40 run: go test -run @ -bench . ./...
43 run: GOARCH=386 go test ./... -bench .
44 continue-on-error: true
46 - name: Some packages compile for WebAssembly
47 run: GOOS=js GOARCH=wasm go build . ./storage ./tracker/...
48 # https://github.com/pion/webrtc/issues/2099
49 continue-on-error: true
53 # Need master for cross-compiling fix
54 go install -v -x github.com/anacrolix/godo@master
58 run: sudo apt install pv fuse
60 - name: torrentfs end-to-end test
61 # Test on 386 for atomic alignment and other bad 64-bit assumptions
62 run: GOARCH=386 fs/test.sh