]> Sergey Matveev's repositories - btrtrc.git/blobdiff - .github/workflows/go.yml
Drop support for go 1.20
[btrtrc.git] / .github / workflows / go.yml
index 1d7bbd55d02ca9bc9cfc366585eb4c4d87f39272..e95f82604f5cc5234f91a0cb825a2b98f620fc63 100644 (file)
@@ -5,21 +5,25 @@ on: [push, pull_request]
 jobs:
 
   test:
-    runs-on: ubuntu-latest
+    timeout-minutes: 10
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        go-version: [ '1.16', '1.17' ]
+        go-version: [ '1.21' ]
+        os: [windows-latest, macos-latest, ubuntu-latest]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
     - uses: ./.github/actions/go-common
-    - run: go test -race -count 2 ./...
+    - run: go test -race -count 2 $(go list ./... | grep -v /fs)
+    - run: go test -race -count 2 ./fs/...
+      if: ${{ ! contains(matrix.os, 'windows') }}
 
   test-benchmarks:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ '1.17' ]
+        go-version: [ '1.21' ]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
@@ -30,7 +34,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ '1.17' ]
+        go-version: [ '1.21' ]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
@@ -41,7 +45,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ '1.16', '1.17' ]
+        go-version: [ '1.21' ]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
@@ -53,23 +57,26 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ '1.16', '1.17' ]
+        go-version: [ '1.21' ]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
     - uses: ./.github/actions/go-common
     - name: Some packages compile for WebAssembly
-      run: GOOS=js GOARCH=wasm go build -v . ./storage ./tracker/...
+      run: GOOS=js GOARCH=wasm go build . ./storage ./tracker/...
 
-  torrentfs:
-    runs-on: ubuntu-latest
+  torrentfs-linux:
+    timeout-minutes: 5
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        go-version: [ '1.17' ]
+        go-version: [ '1.21' ]
+        os: [ubuntu-latest]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
     - uses: ./.github/actions/go-common
+        
     - name: Install godo
       run: |
         # Need master for cross-compiling fix
@@ -82,3 +89,27 @@ jobs:
     - name: torrentfs end-to-end test
       # Test on 386 for atomic alignment and other bad 64-bit assumptions
       run: GOARCH=386 fs/test.sh
+
+# Github broke FUSE on MacOS, I'm not sure what the state is.
+
+#  torrentfs-macos:
+#    timeout-minutes: 15
+#    runs-on: ${{ matrix.os }}
+#    strategy:
+#      matrix:
+#        go-version: [ '1.20' ]
+#        os: [macos-latest]
+#      fail-fast: false
+#    steps:
+#    - uses: actions/checkout@v2
+#    - uses: ./.github/actions/go-common
+#
+#    - run: brew install macfuse pv md5sha1sum bash
+#
+#    - name: Install godo
+#      run: go install -v github.com/anacrolix/godo@master
+#
+#    - name: torrentfs end-to-end test
+#      run: fs/test.sh
+#      # Pretty sure macos on GitHub CI has issues with the fuse driver now.
+#      continue-on-error: true