diff --git a/.github/workflows/build-test.yml b/.github/workflows/build-test.yml
new file mode 100644
index 00000000..5de6abfa
--- /dev/null
+++ b/.github/workflows/build-test.yml
@@ -0,0 +1,32 @@
+name: build-test
+
+on:
+  pull_request:
+    paths-ignore:
+      - '**.md'    
+  push:    
+    branches:
+      - master
+      - releases/*
+    paths-ignore:
+      - '**.md'
+      
+jobs:
+  build:
+    runs-on: ${{ matrix.operating-system }}
+    strategy:
+      matrix:
+        operating-system: [ubuntu-latest, windows-latest]
+    steps:
+      - uses: actions/checkout@v2
+      - name: Setup node 12
+        uses: actions/setup-node@v1
+        with:
+          node-version: 12.x
+      - run: npm ci
+      - run: npm run build
+      - run: npm run format-check
+      - run: npm test
+      - name: Verify no unstaged changes
+        if: runner.os != 'windows'
+        run: __tests__/verify-no-unstaged-changes.sh
diff --git a/.github/workflows/proxy.yml b/.github/workflows/proxy.yml
new file mode 100644
index 00000000..5f206c5b
--- /dev/null
+++ b/.github/workflows/proxy.yml
@@ -0,0 +1,56 @@
+name: proxy
+
+on:
+  pull_request:
+    paths-ignore:
+      - '**.md'    
+  push:    
+    branches:
+      - master
+      - releases/*
+    paths-ignore:
+      - '**.md'
+      
+jobs:
+  test-proxy:
+    runs-on: ubuntu-latest
+    strategy:    
+      fail-fast: false    
+    container:
+      image: ubuntu:latest
+      options: --dns 127.0.0.1
+    services:
+      squid-proxy:
+        image: datadog/squid:latest
+        ports:
+          - 3128:3128
+    env:
+      https_proxy: http://squid-proxy:3128
+    steps:
+      - uses: actions/checkout@v2
+      - name: Clear tool cache
+        run: rm -rf $RUNNER_TOOL_CACHE/*
+      - name: Setup node 10
+        uses: ./
+        with:
+          node-version: 10.x
+      - name: Verify node and npm
+        run: __tests__/verify-node.sh 10
+
+  test-bypass-proxy:
+    runs-on: ubuntu-latest
+    strategy:    
+      fail-fast: false
+    env:
+      https_proxy: http://no-such-proxy:3128
+      no_proxy: github.com,nodejs.org,registry.npmjs.org,*.s3.amazonaws.com
+    steps:
+      - uses: actions/checkout@v2
+      - name: Clear tool cache
+        run: rm -rf $RUNNER_TOOL_CACHE/*
+      - name: Setup node 10
+        uses: ./
+        with:
+          node-version: 10.x
+      - name: Verify node and npm
+        run: __tests__/verify-node.sh 10
diff --git a/.github/workflows/versions.yml b/.github/workflows/versions.yml
new file mode 100644
index 00000000..20361907
--- /dev/null
+++ b/.github/workflows/versions.yml
@@ -0,0 +1,46 @@
+name: versions
+
+on:
+  pull_request:
+    paths-ignore:
+      - '**.md'    
+  push:    
+    branches:
+      - master
+      - releases/*
+    paths-ignore:
+      - '**.md'
+      
+jobs:
+  versions:
+    runs-on: ${{ matrix.operating-system }}
+    strategy:
+      fail-fast: false
+      matrix:
+        operating-system: [ubuntu-latest, windows-latest]
+    defaults:
+      run:
+        shell: bash
+    steps:
+      - uses: actions/checkout@v2
+      # test version from node manifest
+      - name: Setup node 12 from manifest
+        uses: ./
+        with:
+          node-version: 12
+      - name: Verify node and npm
+        run: __tests__/verify-node.sh 12
+      # test version that falls through to node dist
+      - name: Setup node 11 from dist
+        uses: ./
+        with:
+          node-version: 11
+      - name: Verify node and npm
+        run: __tests__/verify-node.sh 11
+      - name: Setup node 0.12.18 from dist
+        uses: ./                 
+        with:
+          node-version: 0.12.18
+      - name: Verify node
+        shell: bash
+        run: __tests__/verify-node.sh 0.12.18 SKIP_NPM      
diff --git a/.github/workflows/workflow.yml b/.github/workflows/workflow.yml
deleted file mode 100644
index b97bd541..00000000
--- a/.github/workflows/workflow.yml
+++ /dev/null
@@ -1,100 +0,0 @@
-name: Main workflow
-
-on:
-  pull_request:
-  push:
-    branches:
-      - master
-      - releases/*
-
-jobs:
-  build:
-    runs-on: ${{ matrix.operating-system }}
-    strategy:
-      matrix:
-        operating-system: [ubuntu-latest, windows-latest]
-    steps:
-      - uses: actions/checkout@v2
-      - name: Setup node 12
-        uses: actions/setup-node@v1
-        with:
-          node-version: 12.x
-      - run: npm ci
-      - run: npm run build
-      - run: npm run format-check
-      - run: npm test
-      - name: Verify no unstaged changes
-        if: runner.os != 'windows'
-        run: __tests__/verify-no-unstaged-changes.sh
-
-  test:
-    runs-on: ${{ matrix.operating-system }}
-    strategy:
-      matrix:
-        operating-system: [ubuntu-latest, windows-latest]
-    defaults:
-      run:
-        shell: bash
-    steps:
-      - uses: actions/checkout@v2
-      - name: Clear tool cache
-        run: rm -rf $RUNNER_TOOL_CACHE/*
-      - name: Setup node 10
-        uses: ./
-        with:
-          node-version: 10.x
-      - name: Verify node and npm
-        run: __tests__/verify-node.sh 10
-
-  test-fallback:
-    runs-on: windows-latest
-    steps:
-      - uses: actions/checkout@v2
-      - name: Clear tool cache
-        run: mv "${{ runner.tool_cache }}" "${{ runner.tool_cache }}.old"
-      - name: Setup node 0.12.18 # For non LTS versions of Node, the zip is not always available
-        uses: ./                 # and falls back to downloading node.exe and node.lib
-        with:
-          node-version: 0.12.18
-      - name: Verify node
-        shell: bash
-        run: __tests__/verify-node.sh 0.12.18 SKIP_NPM
-
-  test-proxy:
-    runs-on: ubuntu-latest
-    container:
-      image: ubuntu:latest
-      options: --dns 127.0.0.1
-    services:
-      squid-proxy:
-        image: datadog/squid:latest
-        ports:
-          - 3128:3128
-    env:
-      https_proxy: http://squid-proxy:3128
-    steps:
-      - uses: actions/checkout@v2
-      - name: Clear tool cache
-        run: rm -rf $RUNNER_TOOL_CACHE/*
-      - name: Setup node 10
-        uses: ./
-        with:
-          node-version: 10.x
-      - name: Verify node and npm
-        run: __tests__/verify-node.sh 10
-
-  test-bypass-proxy:
-    runs-on: ubuntu-latest
-    env:
-      https_proxy: http://no-such-proxy:3128
-      no_proxy: github.com,nodejs.org,registry.npmjs.org
-    steps:
-      - uses: actions/checkout@v2
-      - name: Clear tool cache
-        run: rm -rf $RUNNER_TOOL_CACHE/*
-      - name: Setup node 10
-        uses: ./
-        with:
-          node-version: 10.x
-      - name: Verify node and npm
-        run: __tests__/verify-node.sh 10