3 on: [push, pull_request]
9 runs-on: ${{ matrix.os }}
12 go-version: [ '1.21' ]
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 $(go list ./... | grep -v /fs)
19 - run: go test -race -count 2 ./fs/...
20 if: ${{ ! contains(matrix.os, 'windows') }}
23 runs-on: ubuntu-latest
26 go-version: [ '1.21' ]
29 - uses: actions/checkout@v2
30 - uses: ./.github/actions/go-common
31 - run: go test -race -run @ -bench . -benchtime 2x ./...
34 runs-on: ubuntu-latest
37 go-version: [ '1.21' ]
40 - uses: actions/checkout@v2
41 - uses: ./.github/actions/go-common
42 - run: go test -run @ -bench . ./...
45 runs-on: ubuntu-latest
48 go-version: [ '1.21' ]
51 - uses: actions/checkout@v2
52 - uses: ./.github/actions/go-common
53 - run: GOARCH=386 go test ./...
54 - run: GOARCH=386 go test ./... -run @ -bench .
57 runs-on: ubuntu-latest
60 go-version: [ '1.21' ]
63 - uses: actions/checkout@v2
64 - uses: ./.github/actions/go-common
65 - name: Some packages compile for WebAssembly
66 run: GOOS=js GOARCH=wasm go build . ./storage ./tracker/...
70 runs-on: ${{ matrix.os }}
73 go-version: [ '1.21' ]
77 - uses: actions/checkout@v2
78 - uses: ./.github/actions/go-common
82 # Need master for cross-compiling fix
83 go install -v -x github.com/anacrolix/godo@master
87 run: sudo apt install pv fuse
89 - name: torrentfs end-to-end test
90 # Test on 386 for atomic alignment and other bad 64-bit assumptions
91 run: GOARCH=386 fs/test.sh
93 # Github broke FUSE on MacOS, I'm not sure what the state is.
97 # runs-on: ${{ matrix.os }}
100 # go-version: [ '1.20' ]
104 # - uses: actions/checkout@v2
105 # - uses: ./.github/actions/go-common
107 # - run: brew install macfuse pv md5sha1sum bash
109 # - name: Install godo
110 # run: go install -v github.com/anacrolix/godo@master
112 # - name: torrentfs end-to-end test
114 # # Pretty sure macos on GitHub CI has issues with the fuse driver now.
115 # continue-on-error: true