3 on: [push, pull_request]
9 runs-on: ${{ matrix.os }}
12 go-version: [ '1.21', '1.20' ]
13 os: [windows-latest, macos-latest, ubuntu-latest]
16 - uses: actions/checkout@v2
17 - uses: ./.github/actions/go-common
18 - run: go test -race -count 2 ./...
21 runs-on: ubuntu-latest
24 go-version: [ '1.20' ]
27 - uses: actions/checkout@v2
28 - uses: ./.github/actions/go-common
29 - run: go test -race -run @ -bench . -benchtime 2x ./...
32 runs-on: ubuntu-latest
35 go-version: [ '1.20' ]
38 - uses: actions/checkout@v2
39 - uses: ./.github/actions/go-common
40 - run: go test -run @ -bench . ./...
43 runs-on: ubuntu-latest
46 go-version: [ '1.20' ]
49 - uses: actions/checkout@v2
50 - uses: ./.github/actions/go-common
51 - run: GOARCH=386 go test ./...
52 - run: GOARCH=386 go test ./... -run @ -bench .
55 runs-on: ubuntu-latest
58 go-version: [ '1.20' ]
61 - uses: actions/checkout@v2
62 - uses: ./.github/actions/go-common
63 - name: Some packages compile for WebAssembly
64 run: GOOS=js GOARCH=wasm go build . ./storage ./tracker/...
68 runs-on: ${{ matrix.os }}
71 go-version: [ '1.20' ]
75 - uses: actions/checkout@v2
76 - uses: ./.github/actions/go-common
80 # Need master for cross-compiling fix
81 go install -v -x github.com/anacrolix/godo@master
85 run: sudo apt install pv fuse
87 - name: torrentfs end-to-end test
88 # Test on 386 for atomic alignment and other bad 64-bit assumptions
89 run: GOARCH=386 fs/test.sh
91 # Github broke FUSE on MacOS, I'm not sure what the state is.
95 # runs-on: ${{ matrix.os }}
98 # go-version: [ '1.20' ]
102 # - uses: actions/checkout@v2
103 # - uses: ./.github/actions/go-common
105 # - run: brew install macfuse pv md5sha1sum bash
107 # - name: Install godo
108 # run: go install -v github.com/anacrolix/godo@master
110 # - name: torrentfs end-to-end test
112 # # Pretty sure macos on GitHub CI has issues with the fuse driver now.
113 # continue-on-error: true