diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml
index 8a2ea588002d7ba209a7e36f5ecd717fa868c486..ec00295afd57eada3553610487c86c0083e447c9 100644
--- a/.github/workflows/test.yml
+++ b/.github/workflows/test.yml
@@ -15,12 +15,18 @@ jobs:
     name: test
     runs-on: ${{ matrix.os }}
 
+    # tests shouldn't nee more than 10 min
+    timeout-minutes: 15
+
     strategy:
-      max-parallel: 4
+      max-parallel: 6
       matrix:
         os: [ubuntu-latest, macos-latest, windows-latest]
-        node-version: [10.x, 12.x]
+        node-version: [10, 12]
         python-version: [3.8]
+        exclude:
+          - os: windows-latest
+            node-version: 10
 
     steps:
       - name: Set up Node.js ${{ matrix.node-version }}
@@ -34,10 +40,15 @@ jobs:
           python-version: ${{ matrix.python-version }}
 
       - name: Set up Java 11
+        if: matrix.os == 'ubuntu-latest' && matrix.node-version == 12 && github.ref != 'refs/heads/master'
         uses: actions/setup-java@v1
         with:
           java-version: 11
 
+      - name: Skip Java tests
+        if: matrix.os != 'ubuntu-latest' || matrix.node-version != 12 || github.ref == 'refs/heads/master'
+        run: echo "::set-env name=SKIP_JAVA_TESTS::true"
+
       - name: Init platform
         id: init
         shell: bash