diff --git a/.github/workflows/tests-linux-stable.yml b/.github/workflows/tests-linux-stable.yml
index da4bb40a2e78fed9b09ce8d79438ef203a63efe8..4a13f5318f7deb34a4727a3dc88967df12a67ed7 100644
--- a/.github/workflows/tests-linux-stable.yml
+++ b/.github/workflows/tests-linux-stable.yml
@@ -6,7 +6,7 @@ on:
     branches:
       - master
   pull_request:
-    types: [ opened, synchronize, reopened, ready_for_review ]
+    types: [opened, synchronize, reopened, ready_for_review, labeled]
   merge_group:
 concurrency:
   group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
@@ -14,6 +14,8 @@ concurrency:
 
 jobs:
   changes:
+    # TODO: remove once migration is complete or this workflow is fully stable
+    if: contains(github.event.label.name, 'GHA-migration')
     permissions:
       pull-requests: read
     uses: ./.github/workflows/reusable-check-changed-files.yml
@@ -34,7 +36,7 @@ jobs:
         run: cat .github/env >> $GITHUB_OUTPUT
 
   test-linux-stable-int:
-    needs: [ set-image, changes ]
+    needs: [set-image, changes]
     if: ${{ needs.changes.outputs.rust }}
     runs-on: arc-runners-polkadot-sdk-beefy
     timeout-minutes: 60
@@ -51,11 +53,11 @@ jobs:
       - name: Checkout
         uses: actions/checkout@v4
       - name: script
-        run: WASM_BUILD_NO_COLOR=1 time forklift cargo test -p staging-node-cli --release --locked -- --ignored
+        run: WASM_BUILD_NO_COLOR=1 forklift cargo test -p staging-node-cli --release --locked -- --ignored
 
   # https://github.com/paritytech/ci_cd/issues/864
   test-linux-stable-runtime-benchmarks:
-    needs: [ set-image, changes ]
+    needs: [set-image, changes]
     if: ${{ needs.changes.outputs.rust }}
     runs-on: arc-runners-polkadot-sdk-beefy
     timeout-minutes: 60
@@ -70,4 +72,55 @@ jobs:
       - name: Checkout
         uses: actions/checkout@v4
       - name: script
-        run: time forklift cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
+        run: forklift cargo nextest run --workspace --features runtime-benchmarks benchmark --locked --cargo-profile testnet
+
+  test-linux-stable:
+    needs: [set-image, changes]
+    if: ${{ needs.changes.outputs.rust }}
+    runs-on: ${{ matrix.runners }}
+    timeout-minutes: 60
+    strategy:
+      fail-fast: false
+      matrix:
+        partition: [1/3, 2/3, 3/3]
+        runners: [arc-runners-polkadot-sdk-beefy, oldlinux]
+    container:
+      image: ${{ needs.set-image.outputs.IMAGE }}
+      # needed for tests that use unshare syscall
+      options: --security-opt seccomp=unconfined
+    env:
+      RUST_TOOLCHAIN: stable
+      # Enable debug assertions since we are running optimized builds for testing
+      # but still want to have debug assertions.
+      RUSTFLAGS: "-Cdebug-assertions=y -Dwarnings"
+    steps:
+      - name: Checkout
+        uses: actions/checkout@v4
+      - name: script
+        run: |
+          # Fixes "detected dubious ownership" error in the ci
+          git config --global --add safe.directory '*'
+          forklift cargo nextest run \
+            --workspace \
+            --locked \
+            --release \
+            --no-fail-fast \
+            --features try-runtime,experimental,riscv,ci-only-tests \
+            --partition count:${{ matrix.partition }}
+      # run runtime-api tests with `enable-staging-api` feature on the 1st node
+      - name: runtime-api tests
+        if: ${{ matrix.partition == '1/3' }}
+        run: forklift cargo nextest run -p sp-api-test --features enable-staging-api
+
+  confirm-required-jobs-passed:
+    runs-on: ubuntu-latest
+    name: All tests passed
+    # If any new job gets added, be sure to add it to this array
+    needs:
+      [
+        test-linux-stable-int,
+        test-linux-stable-runtime-benchmarks,
+        test-linux-stable,
+      ]
+    steps:
+      - run: echo '### Good job! All the tests passed 🚀' >> $GITHUB_STEP_SUMMARY
diff --git a/.gitlab/pipeline/test.yml b/.gitlab/pipeline/test.yml
index 0103c6b76a2dfac2bfd080aa516ae9c34886bf46..319c95ad6112c33bbb27ca765e100e224e945c28 100644
--- a/.gitlab/pipeline/test.yml
+++ b/.gitlab/pipeline/test.yml
@@ -110,8 +110,6 @@ test-linux-stable-codecov:
         codecovcli -v do-upload -f target/coverage/result/report-${CI_NODE_INDEX}.lcov --disable-search -t ${CODECOV_TOKEN} -r paritytech/polkadot-sdk --commit-sha ${CI_COMMIT_SHA} --fail-on-error --git-service github;
       fi
 
-  #
-
 test-linux-stable:
   stage: test
   extends: