diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml
index 2aadbfe..03a4d09 100644
--- a/.github/workflows/workflow.yml
+++ b/.github/workflows/workflow.yml
@@ -1,4 +1,4 @@
-name: Test Cache Action
+name: Tests
 on:
   pull_request:
   push:
@@ -7,9 +7,18 @@ on:
 
 jobs:
   test:
-    runs-on: ubuntu-latest
+    name: Test on ${{ matrix.os }}
+    strategy:
+      matrix:
+        os: [ubuntu-latest, windows-latest, macOS-latest]
+    runs-on: ${{ matrix.os }}
+    
     steps:
     - uses: actions/checkout@v1
+      
+    - uses: actions/setup-node@v1
+      with:
+        node-version: '12.x'
 
     - run: npm ci
 
diff --git a/README.md b/README.md
index ff529cb..4d23fa2 100644
--- a/README.md
+++ b/README.md
@@ -2,6 +2,8 @@
 
 This GitHub Action allows caching dependencies and build outputs to improve workflow execution time.
 
+<a href="https://github.com/actions/cache"><img alt="GitHub Actions status" src="https://github.com/actions/cache/workflows/Tests/badge.svg"></a>
+
 ## Usage
 
 ### Pre-requisites
@@ -110,6 +112,17 @@ jobs:
       ${{ runner.os }}-pods-
 ```
 
+### Ruby - Gem
+```yaml
+- uses: actions/cache@preview
+  with:
+    path: vendor/bundle
+    key: ${{ runner.os }}-gem-${{ hashFiles('**/Gemfile.lock') }}
+    restore-keys: |
+      ${{ runner.os }}-gem-
+
+```
+
 ## Cache Limits
 
 Individual caches are limited to 200MB and a repository can have up to 2GB of caches. Once the 2GB limit is reached, older caches will be evicted based on when the cache was last accessed.
@@ -140,4 +153,4 @@ steps:
 We would love for you to contribute to `@actions/cache`, pull requests are welcome! Please see the [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
 
 ## License
-The scripts and documentation in this project are released under the [MIT License](LICENSE)
\ No newline at end of file
+The scripts and documentation in this project are released under the [MIT License](LICENSE)
diff --git a/package-lock.json b/package-lock.json
index 4353683..ed53148 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -4975,9 +4975,9 @@
       }
     },
     "typescript": {
-      "version": "3.5.3",
-      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.5.3.tgz",
-      "integrity": "sha512-ACzBtm/PhXBDId6a6sDJfroT2pOWt/oOnk4/dElG5G33ZL776N3Y6/6bKZJBFpd+b05F3Ct9qDjMeJmRWtE2/g==",
+      "version": "3.6.4",
+      "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.4.tgz",
+      "integrity": "sha512-unoCll1+l+YK4i4F8f22TaNVPRHcD9PA3yCuZ8g5e0qGqlVlJ/8FSateOLLSagn+Yg5+ZwuPkL8LFUc0Jcvksg==",
       "dev": true
     },
     "uglify-js": {
diff --git a/package.json b/package.json
index 7eb60f2..96167df 100644
--- a/package.json
+++ b/package.json
@@ -38,6 +38,6 @@
     "jest-circus": "^24.7.1",
     "prettier": "1.18.2",
     "ts-jest": "^24.0.2",
-    "typescript": "^3.5.1"
+    "typescript": "^3.6.4"
   }
 }