]> Sergey Matveev's repositories - btrtrc.git/blobdiff - .github/workflows/go.yml
Run torrentfs CI on macos
[btrtrc.git] / .github / workflows / go.yml
index af1530ffe3d72ae78d29c769414e151e6429496a..47feb7efa9e5230be7be0de39dc806cdc36de32f 100644 (file)
@@ -6,10 +6,11 @@ jobs:
 
   test:
     timeout-minutes: 30
-    runs-on: ubuntu-latest
+    runs-on: ${{ matrix.os }}
     strategy:
       matrix:
-        go-version: [ 'tip' ]
+        go-version: [ '1.19', '1.20' ]
+        os: [windows-latest, macos-latest, ubuntu-latest]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
@@ -20,7 +21,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ 'tip' ]
+        go-version: [ '1.20' ]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
@@ -31,7 +32,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ 'tip' ]
+        go-version: [ '1.20' ]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
@@ -42,7 +43,7 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ 'tip' ]
+        go-version: [ '1.20' ]
       fail-fast: false
     steps:
     - uses: actions/checkout@v2
@@ -54,23 +55,26 @@ jobs:
     runs-on: ubuntu-latest
     strategy:
       matrix:
-        go-version: [ 'tip' ]
+        go-version: [ '1.20' ]
       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: [ 'tip' ]
+        go-version: [ '1.20' ]
+        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
@@ -83,3 +87,24 @@ 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
+
+  torrentfs-macos:
+    timeout-minutes: 5
+    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
+      # Test on 386 for atomic alignment and other bad 64-bit assumptions
+      run: fs/test.sh