diff --git a/.github/actions/internal/docker-run/action.yml b/.github/actions/internal/docker-run/action.yml
index b08d836..8ee96ef 100644
--- a/.github/actions/internal/docker-run/action.yml
+++ b/.github/actions/internal/docker-run/action.yml
@@ -18,8 +18,6 @@
   docker-cache:
     required: false
     description: "Enabled caching of pulled docker images."
-    default: false
-    type: boolean
 
 runs:
   using: 'composite'
diff --git a/.github/actions/non-bazel-docker/action.yml b/.github/actions/non-bazel-docker/action.yml
new file mode 100644
index 0000000..23e502a
--- /dev/null
+++ b/.github/actions/non-bazel-docker/action.yml
@@ -0,0 +1,32 @@
+name: 'Docker Non-Bazel Run'
+description: 'Run a docker image for Protobuf CI testing with a non-Bazel build system'
+inputs:
+  credentials:
+    required: true
+    description: "The GCP credentials to use for reading the docker image"
+    type: string
+  command:
+    required: true
+    description: A command to run in the docker image
+  image:
+    required: false
+    default: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:5.1.1-aec4d74f2eb6938fc53ef7d9a79a4bf2da24abc1
+    description: "The docker image to use"
+    type: string
+
+runs:
+  using: 'composite'
+  steps:
+    - name: Update stale files using Bazel
+      uses: ./.github/actions/bazel-docker
+      with:
+        image: us-docker.pkg.dev/protobuf-build/containers/common/linux/bazel:5.1.1-aec4d74f2eb6938fc53ef7d9a79a4bf2da24abc1
+        credentials: ${{ inputs.credentials }}
+        bazel-cache: regenerate-stale-files
+        bash: ./regenerate_stale_files.sh $BAZEL_FLAGS
+
+    - name: Run Docker
+      uses: ./.github/actions/internal/docker-run
+      with:
+        image: ${{ inputs.image }}
+        command: ${{ inputs.command }}
diff --git a/.github/workflows/test_cpp.yml b/.github/workflows/test_cpp.yml
index 54ebc9d..a82fc36 100644
--- a/.github/workflows/test_cpp.yml
+++ b/.github/workflows/test_cpp.yml
@@ -51,3 +51,47 @@
           credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
           bazel-cache: cpp_bazel/${{ matrix.config.name }}
           bazel: test ${{ matrix.targets }} ${{ matrix.config.flags }} --distinct_host_configuration=false
+
+  cmake:
+    strategy:
+      fail-fast: false   # Don't cancel all jobs if one fails.
+      matrix:
+        include:
+          - command: >
+              /test.sh
+              -Dprotobuf_BUILD_CONFORMANCE=ON
+              -Dprotobuf_BUILD_EXAMPLES=ON
+              -DCMAKE_CXX_STANDARD=14
+          - name: Ninja
+            command: >
+              /test.sh
+              -G Ninja
+              -Dprotobuf_BUILD_CONFORMANCE=ON
+              -DCMAKE_CXX_STANDARD=14
+          - name: Shared
+            command: >
+              /test.sh
+              -Dprotobuf_BUILD_CONFORMANCE=ON
+              -Dprotobuf_BUILD_SHARED_LIBS=ON
+              -DCMAKE_CXX_STANDARD=14
+          - name: Install
+            command: >
+              /install.sh -DCMAKE_CXX_STANDARD=14 \&\& /test.sh
+              -Dprotobuf_REMOVE_INSTALLED_HEADERS=ON
+              -Dprotobuf_BUILD_PROTOBUF_BINARIES=OFF
+              -Dprotobuf_BUILD_CONFORMANCE=ON
+              -DCMAKE_CXX_STANDARD=14
+    name: Linux CMake ${{ matrix.name}}
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout pending changes
+        uses: actions/checkout@v3
+        with:
+          submodules: recursive
+          ref: ${{ inputs.safe-checkout }}
+      - name: Run tests
+        uses: ./.github/actions/non-bazel-docker
+        with:
+          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/cmake@sha256:cc23dbe065668158ca2732aa305a07bd0913a175b2079d27d9c16925d23f2335
+          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
+          command: ${{ matrix.command }}
diff --git a/.github/workflows/test_php.yml b/.github/workflows/test_php.yml
new file mode 100644
index 0000000..ffad7db
--- /dev/null
+++ b/.github/workflows/test_php.yml
@@ -0,0 +1,50 @@
+name: PHP Tests
+
+on:
+  workflow_call:
+    inputs:
+      safe-checkout:
+        required: true
+        description: "The SHA key for the commit we want to run over"
+        type: string
+
+jobs:
+  linux:
+    strategy:
+      fail-fast: false   # Don't cancel all jobs if one fails.
+      matrix:
+        include:
+          - name: 7.3 Debug
+            version: 7.3.28-dbg
+            command: composer test \&\& composer test_c
+          - name: 7.4 Debug
+            version: 7.4.18-dbg
+            command: composer test \&\& composer test_c
+          - name: 8.0 Optimized
+            version: 8.0.5
+            command: composer test \&\& composer test_c
+          - name: 8.0 Debug
+            version: 8.0.5-dbg
+            command: composer test \&\& composer test_c
+          - name: 8.0 Memory Leak
+            version: 8.0.5-dbg
+            # Run specialized memory leak & multirequest tests.
+            command: composer test_c \&\& tests/multirequest.sh \&\& tests/memory_leak_test.sh
+          - name: 8.0 Valgrind
+            version: 8.0.5-dbg
+            command: composer test_valgrind
+
+    name: Linux PHP ${{ matrix.name}}
+    runs-on: ubuntu-latest
+    steps:
+      - name: Checkout pending changes
+        uses: actions/checkout@v3
+        with:
+          submodules: recursive
+          ref: ${{ inputs.safe-checkout }}
+      - name: Run tests
+        uses: ./.github/actions/non-bazel-docker
+        with:
+          image: us-docker.pkg.dev/protobuf-build/containers/test/linux/php:${{ matrix.version }}-6e95c0e221e4bd52e3b4dc1398c6336985196931
+          credentials: ${{ secrets.GAR_SERVICE_ACCOUNT }}
+          command: ${{ matrix.command }}
diff --git a/.github/workflows/test_runner.yml b/.github/workflows/test_runner.yml
index 1dd6411..357acb7 100644
--- a/.github/workflows/test_runner.yml
+++ b/.github/workflows/test_runner.yml
@@ -105,6 +105,14 @@
       safe-checkout: ${{ needs.check-tag.outputs.checkout-sha }}
     secrets: inherit
 
+  php:
+    name: PHP
+    needs: [check-tag]
+    uses: ./.github/workflows/test_php.yml
+    with:
+      safe-checkout: ${{ needs.check-tag.outputs.checkout-sha }}
+    secrets: inherit
+
   php-ext:
     name: PHP Extension
     needs: [check-tag]
diff --git a/cmake/gtest.cmake b/cmake/gtest.cmake
index 7e246fb..5562380 100644
--- a/cmake/gtest.cmake
+++ b/cmake/gtest.cmake
@@ -31,10 +31,10 @@
         COMPILE_DEFINITIONS
           "GTEST_CREATE_SHARED_LIBRARY=1"
     )
-    install(TARGETS gmock EXPORT protobuf-targets
-      RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
-      LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
-      ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+
+    if (protobuf_INSTALL)
+      set(protobuf_INSTALL_TESTS ON)
+    endif()
   endif()
 
   target_link_libraries(gmock ${CMAKE_THREAD_LIBS_INIT})
diff --git a/cmake/install.cmake b/cmake/install.cmake
index 90230c5..f7a0d9e 100644
--- a/cmake/install.cmake
+++ b/cmake/install.cmake
@@ -113,3 +113,10 @@
     DESTINATION "${CMAKE_INSTALL_EXAMPLEDIR}"
     COMPONENT protobuf-examples)
 endif()
+
+if (protobuf_INSTALL_TESTS)
+  install(TARGETS gmock EXPORT protobuf-targets
+    RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+    LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+endif()
diff --git a/regenerate_stale_files.sh b/regenerate_stale_files.sh
index 8c57c90..bca9c0e 100755
--- a/regenerate_stale_files.sh
+++ b/regenerate_stale_files.sh
@@ -10,13 +10,13 @@
 
 # Run and fix all staleness tests.
 # LINT.IfChange(staleness_tests)
-bazel test //src:cmake_lists_staleness_test || ./bazel-bin/src/cmake_lists_staleness_test --fix
-bazel test //src/google/protobuf:well_known_types_staleness_test || ./bazel-bin/src/google/protobuf/well_known_types_staleness_test --fix
+bazel test //src:cmake_lists_staleness_test "$@" || ./bazel-bin/src/cmake_lists_staleness_test --fix
+bazel test //src/google/protobuf:well_known_types_staleness_test "$@" || ./bazel-bin/src/google/protobuf/well_known_types_staleness_test --fix
 # LINT.ThenChange(//depot/google3/third_party/protobuf/github/kokoro/windows/prepare_build_win64.bat:staleness_tests)
 
 # Generate C# code.
 # This doesn't currently have Bazel staleness tests, but there's an existing
 # shell script that generates everything required. The output files are stable,
 # so just regenerating in place should be harmless. 
-bazel build src/google/protobuf/compiler:protoc
+bazel build src/google/protobuf/compiler:protoc "$@"
 (export PROTOC=$PWD/bazel-bin/protoc && cd csharp && ./generate_protos.sh)
