3 on: [push, pull_request]
12 go-version: [ '1.20' ]
15 - uses: actions/checkout@v2
16 - uses: ./.github/actions/go-common
17 - run: go test -race -count 2 ./...
20 runs-on: ubuntu-latest
23 go-version: [ '1.20' ]
26 - uses: actions/checkout@v2
27 - uses: ./.github/actions/go-common
28 - run: go test -race -run @ -bench . -benchtime 2x ./...
31 runs-on: ubuntu-latest
34 go-version: [ '1.20' ]
37 - uses: actions/checkout@v2
38 - uses: ./.github/actions/go-common
39 - run: go test -run @ -bench . ./...
42 runs-on: ubuntu-latest
45 go-version: [ '1.20' ]
48 - uses: actions/checkout@v2
49 - uses: ./.github/actions/go-common
50 - run: GOARCH=386 go test ./...
51 - run: GOARCH=386 go test ./... -run @ -bench .
54 runs-on: ubuntu-latest
57 go-version: [ '1.20' ]
60 - uses: actions/checkout@v2
61 - uses: ./.github/actions/go-common
62 - name: Some packages compile for WebAssembly
63 run: GOOS=js GOARCH=wasm go build . ./storage ./tracker/...
66 runs-on: ubuntu-latest
69 go-version: [ '1.20' ]
72 - uses: actions/checkout@v2
73 - uses: ./.github/actions/go-common
76 # Need master for cross-compiling fix
77 go install -v -x github.com/anacrolix/godo@master
81 run: sudo apt install pv fuse
83 - name: torrentfs end-to-end test
84 # Test on 386 for atomic alignment and other bad 64-bit assumptions
85 run: GOARCH=386 fs/test.sh