diff --git a/.github/workflows/e2e.load.yml b/.github/workflows/e2e.load.yml
new file mode 100644
index 0000000000..d18a4e9abc
--- /dev/null
+++ b/.github/workflows/e2e.load.yml
@@ -0,0 +1,53 @@
+name: E2E Load Tests
+
+on:
+  push:
+    branches:
+      - master
+    tags:
+      - 'v[0-9]+.[0-9]+.[0-9]+'
+  pull_request:
+
+jobs:
+  setup:
+    name: e2e load tests
+    runs-on: ubuntu-latest
+    steps:
+      - name: Git checkout
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: Set up Go
+        uses: actions/setup-go@v3
+        with:
+          go-version: '~1.20.10'
+          check-latest: true
+      - name: Use Node.js
+        uses: actions/setup-node@v3
+        with:
+          node-version: "18.15"
+      - name: NPM Clean Install
+        run: npm ci
+        working-directory: ./contracts
+      - name: Hardhat Clean
+        run: npx hardhat clean
+        working-directory: ./contracts
+      - name: Hardhat Compile
+        run: npx hardhat compile
+        working-directory: ./contracts
+      - name: Install AvalancheGo Release
+        shell: bash
+        run: BASEDIR=/tmp/e2e-test AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego ./scripts/install_avalanchego_release.sh
+      - name: Build Subnet-EVM Plugin Binary
+        shell: bash
+        run: ./scripts/build.sh /tmp/e2e-test/avalanchego/plugins/srEXiWaHuhNyGwPUi444Tu47ZEDwxTWrbQiuD7FmgSAQ6X7Dy
+      - name: Run E2E Load Tests
+        shell: bash
+        run: AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego DATA_DIR=/tmp/e2e-test/load-data ./scripts/run_ginkgo_load.sh
+      - name: Upload Artifact
+        if: always()
+        uses: actions/upload-artifact@v3
+        with:
+          name: subnet-evm-e2e-logs-load
+          path: /tmp/network-runner-root-data*/
+          retention-days: 5
diff --git a/.github/workflows/e2e.yml b/.github/workflows/e2e.precompile.yml
similarity index 55%
rename from .github/workflows/e2e.yml
rename to .github/workflows/e2e.precompile.yml
index 47d238de8c..4f4af2b8e0 100644
--- a/.github/workflows/e2e.yml
+++ b/.github/workflows/e2e.precompile.yml
@@ -1,4 +1,4 @@
-name: E2E Tests
+name: E2E Precompile Tests
 
 on:
   push:
@@ -9,8 +9,8 @@ on:
   pull_request:
 
 jobs:
-  setup:
-    name: e2e test setup
+  precompile:
+    name: e2e precompile tests
     runs-on: ubuntu-latest
     steps:
       - name: Git checkout
@@ -41,14 +41,6 @@ jobs:
       - name: Build Subnet-EVM Plugin Binary
         shell: bash
         run: ./scripts/build.sh /tmp/e2e-test/avalanchego/plugins/srEXiWaHuhNyGwPUi444Tu47ZEDwxTWrbQiuD7FmgSAQ6X7Dy
-
-  precompile:
-    name: Precompile Tests
-    runs-on: ubuntu-latest
-    needs: setup
-    steps:
-      - name: Git checkout
-        uses: actions/checkout@v3
       - name: Run E2E Precompile Tests
         shell: bash
         run: AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego DATA_DIR=/tmp/e2e-test/precompile-data ./scripts/run_ginkgo_precompile.sh
@@ -59,39 +51,3 @@ jobs:
           name: subnet-evm-e2e-logs-precompile
           path: /tmp/network-runner-root-data*/
           retention-days: 5
-
-  warp:
-    name: Warp Tests
-    runs-on: ubuntu-latest
-    needs: setup
-    steps:
-      - name: Git checkout
-        uses: actions/checkout@v3
-      - name: Run Warp E2E Tests
-        shell: bash
-        run: AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego DATA_DIR=/tmp/e2e-test/warp-data ./scripts/run_ginkgo_warp.sh
-      - name: Upload Artifact
-        if: always()
-        uses: actions/upload-artifact@v3
-        with:
-          name: subnet-evm-e2e-logs-warp
-          path: /tmp/network-runner-root-data*/
-          retention-days: 5
-
-  load:
-    name: Load Tests
-    runs-on: ubuntu-latest
-    needs: setup
-    steps:
-      - name: Git checkout
-        uses: actions/checkout@v3
-      - name: Run E2E Load Tests
-        shell: bash
-        run: AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego DATA_DIR=/tmp/e2e-test/load-data ./scripts/run_ginkgo_load.sh
-      - name: Upload Artifact
-        if: always()
-        uses: actions/upload-artifact@v3
-        with:
-          name: subnet-evm-e2e-logs-load
-          path: /tmp/network-runner-root-data*/
-          retention-days: 5
diff --git a/.github/workflows/e2e.warp.yml b/.github/workflows/e2e.warp.yml
new file mode 100644
index 0000000000..c655fc4d94
--- /dev/null
+++ b/.github/workflows/e2e.warp.yml
@@ -0,0 +1,53 @@
+name: E2E Warp Tests
+
+on:
+  push:
+    branches:
+      - master
+    tags:
+      - 'v[0-9]+.[0-9]+.[0-9]+'
+  pull_request:
+
+jobs:
+  warp:
+    name: e2e warp tests
+    runs-on: ubuntu-latest
+    steps:
+      - name: Git checkout
+        uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: Set up Go
+        uses: actions/setup-go@v3
+        with:
+          go-version: '~1.20.10'
+          check-latest: true
+      - name: Use Node.js
+        uses: actions/setup-node@v3
+        with:
+          node-version: "18.15"
+      - name: NPM Clean Install
+        run: npm ci
+        working-directory: ./contracts
+      - name: Hardhat Clean
+        run: npx hardhat clean
+        working-directory: ./contracts
+      - name: Hardhat Compile
+        run: npx hardhat compile
+        working-directory: ./contracts
+      - name: Install AvalancheGo Release
+        shell: bash
+        run: BASEDIR=/tmp/e2e-test AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego ./scripts/install_avalanchego_release.sh
+      - name: Build Subnet-EVM Plugin Binary
+        shell: bash
+        run: ./scripts/build.sh /tmp/e2e-test/avalanchego/plugins/srEXiWaHuhNyGwPUi444Tu47ZEDwxTWrbQiuD7FmgSAQ6X7Dy
+      - name: Run Warp E2E Tests
+        shell: bash
+        run: AVALANCHEGO_BUILD_PATH=/tmp/e2e-test/avalanchego DATA_DIR=/tmp/e2e-test/warp-data ./scripts/run_ginkgo_warp.sh
+      - name: Upload Artifact
+        if: always()
+        uses: actions/upload-artifact@v3
+        with:
+          name: subnet-evm-e2e-logs-warp
+          path: /tmp/network-runner-root-data*/
+          retention-days: 5