diff --git a/.github/workflows/pr_build.yml b/.github/workflows/pr_build.yml
index 54c2599c3..634a4ee0f 100644
--- a/.github/workflows/pr_build.yml
+++ b/.github/workflows/pr_build.yml
@@ -4,12 +4,10 @@ on:
   pull_request:
     branches:
       - main
-      - v2
     paths:
       - 'powertools-batch/**'
       - 'powertools-cloudformation/**'
-      - 'powertools-core/**'              # not in v2
-      - 'powertools-common/**'            # v2 only
+      - 'powertools-core/**'
       - 'powertools-e2e-tests/**'
       - 'powertools-idempotency/**'
       - 'powertools-large-messages/**'
@@ -17,8 +15,8 @@ on:
       - 'powertools-metrics/**'
       - 'powertools-parameters/**'
       - 'powertools-serialization/**'
-      - 'powertools-sqs/**'               # not in v2
-      - 'powertools-test-suite/**'        # not in v2
+      - 'powertools-sqs/**'
+      - 'powertools-test-suite/**'
       - 'powertools-tracing/**'
       - 'powertools-validation/**'
       - 'examples/**'
diff --git a/.github/workflows/pr_build_v2.yml b/.github/workflows/pr_build_v2.yml
new file mode 100644
index 000000000..3299dc720
--- /dev/null
+++ b/.github/workflows/pr_build_v2.yml
@@ -0,0 +1,93 @@
+name: Build
+
+on:
+  pull_request:
+    branches:
+      - v2
+    paths:
+      - 'powertools-batch/**'
+      - 'powertools-cloudformation/**'
+      - 'powertools-common/**'
+      - 'powertools-e2e-tests/**'
+      - 'powertools-idempotency/**'
+      - 'powertools-large-messages/**'
+      - 'powertools-logging/**'
+      - 'powertools-metrics/**'
+      - 'powertools-parameters/**'
+      - 'powertools-serialization/**'
+      - 'powertools-tracing/**'
+      - 'powertools-validation/**'
+      - 'examples/**'
+      - 'pom.xml'
+      - 'examples/pom.xml'
+      - '.github/workflows/**'
+  push:
+    branches:
+      - v2
+    paths:
+      - 'powertools-batch/**'
+      - 'powertools-cloudformation/**'
+      - 'powertools-common/**'
+      - 'powertools-e2e-tests/**'
+      - 'powertools-idempotency/**'
+      - 'powertools-large-messages/**'
+      - 'powertools-logging/**'
+      - 'powertools-metrics/**'
+      - 'powertools-parameters/**'
+      - 'powertools-serialization/**'
+      - 'powertools-tracing/**'
+      - 'powertools-validation/**'
+      - 'examples/**'
+      - 'pom.xml'
+      - 'examples/pom.xml'
+      - '.github/workflows/**'
+jobs:
+  build-corretto:
+    runs-on: ubuntu-latest
+    strategy:
+      max-parallel: 5
+      matrix:
+        java: [11, 17, 21]
+    name: Java ${{ matrix.java }}
+    env:
+      JAVA: ${{ matrix.java }}
+      AWS_REGION: eu-west-1
+    permissions:
+      id-token: write # needed to interact with GitHub's OIDC Token endpoint.
+      contents: read
+    steps:
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9  # v3.5.3
+      - name: Setup java
+        uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3.11.0
+        with:
+          distribution: 'corretto'
+          java-version: ${{ matrix.java }}
+          cache: 'maven'
+      - name: Build with Maven
+        run: mvn -B install --file pom.xml
+      - name: Build Gradle Example - Java
+        working-directory: examples/powertools-examples-core/gradle
+        run: ./gradlew build
+      - name: Build Gradle Example - Kotlin
+        working-directory: examples/powertools-examples-core/kotlin
+        run: ./gradlew build
+      - name: Upload coverage to Codecov
+        uses: codecov/codecov-action@d9f34f8cd5cb3b3eb79b3e4b5dae3a16df499a70 # v3.1.1
+        if: ${{ matrix.java == '11' }} # publish results once
+        with:
+          files: ./powertools-cloudformation/target/site/jacoco/jacoco.xml,./powertools-core/target/site/jacoco/jacoco.xml,./powertools-idempotency/target/site/jacoco/jacoco.xml,./powertools-logging/target/site/jacoco/jacoco.xml,./powertools-metrics/target/site/jacoco/jacoco.xml,./powertools-parameters/target/site/jacoco/jacoco.xml,./powertools-serialization/target/site/jacoco/jacoco.xml,./powertools-sqs/target/site/jacoco/jacoco.xml,./powertools-tracing/target/site/jacoco/jacoco.xml,./powertools-validation/target/site/jacoco/jacoco.xml,./powertools-large-messages/target/site/jacoco/jacoco.xml,./powertools-batch/target/site/jacoco/jacoco.xml
+  savepr:
+    runs-on: ubuntu-latest
+    name: Save PR number if running on PR by dependabot
+    if: github.actor == 'dependabot[bot]'
+    steps:
+      - name: Create Directory and save issue
+        run: |
+          mkdir -p ./pr
+          echo ${{ github.event.number }}
+          echo ${{ github.event.number }} > ./pr/NR
+      - uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
+        name: Upload artifact
+        with:
+          name: pr
+          path: pr/
diff --git a/.github/workflows/run-e2e-tests-v2.yml b/.github/workflows/run-e2e-tests-v2.yml
new file mode 100644
index 000000000..255c89cfe
--- /dev/null
+++ b/.github/workflows/run-e2e-tests-v2.yml
@@ -0,0 +1,58 @@
+name: Run end-to-end tests
+
+on:
+  workflow_dispatch:
+
+  push:
+    branches:
+      - v2
+    paths: # add other modules when there are under e2e tests
+      - 'powertools-e2e-tests/**'
+      - 'powertools-batch/**'
+      - 'powertools-core/**'
+      - 'powertools-common/**'
+      - 'powertools-idempotency/**'
+      - 'powertools-large-message/**'
+      - 'powertools-logging/**'
+      - 'powertools-metrics/**'
+      - 'powertools-parameters/**'
+      - 'powertools-serialization/**'
+      - 'powertools-tracing/**'
+      - 'pom.xml'
+      - '.github/workflows/**'
+
+  pull_request:
+    branches:
+      - v2
+    paths:
+      - 'powertools-e2e-tests/**'
+
+jobs:
+  e2e:
+    runs-on: ubuntu-latest
+    strategy:
+      max-parallel: 4
+      matrix:
+        java: [ 11, 17, 21 ]
+    name: End-to-end tests java${{ matrix.java }}
+    env:
+      AWS_DEFAULT_REGION: eu-west-1
+      JAVA_VERSION: ${{ matrix.java }}
+    permissions:
+      id-token: write # needed to interact with GitHub's OIDC Token endpoint.
+      contents: read
+    steps:
+      - uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9  # v3.5.3
+      - name: Setup java
+        uses: actions/setup-java@5ffc13f4174014e2d4d4572b3d74c3fa61aeb2c2 # v3.11.0
+        with:
+          distribution: 'corretto'
+          java-version: ${{ matrix.java }}
+          cache: maven
+      - name: Setup AWS credentials
+        uses: aws-actions/configure-aws-credentials@5fd3084fc36e372ff1fff382a39b10d03659f355 # v2.2.0
+        with:
+          role-to-assume: ${{ secrets.AWS_ROLE_ARN_TO_ASSUME }}
+          aws-region: ${{ env.AWS_DEFAULT_REGION }}
+      - name: Run e2e test with Maven
+        run: mvn -DskipTests install --file pom.xml && mvn -Pe2e -B verify --file powertools-e2e-tests/pom.xml
\ No newline at end of file
diff --git a/.github/workflows/run-e2e-tests.yml b/.github/workflows/run-e2e-tests.yml
index 626268214..77cdea890 100644
--- a/.github/workflows/run-e2e-tests.yml
+++ b/.github/workflows/run-e2e-tests.yml
@@ -6,7 +6,6 @@ on:
   push:
     branches:
       - main
-      - v2
     paths: # add other modules when there are under e2e tests
       - 'powertools-e2e-tests/**'
       - 'powertools-batch/**'