diff --git .github/workflows/phpunit-tests.yml .github/workflows/phpunit-tests.yml
new file mode 100644
index 000000000..69f40e374
--- /dev/null
+++ .github/workflows/phpunit-tests.yml
@@ -0,0 +1,72 @@
+# PHP Unit workflow
+name: PHP Unit Tests
+
+on:
+  push:
+    branches: [ master ]
+
+jobs:
+  unit-php:
+    name: ${{ matrix.php }} on ${{ matrix.os }} against WordPress Trunk
+    runs-on: ${{ matrix.os }}
+    strategy:
+      fail-fast: false
+      matrix:
+        php: [ '7.4', '8.0' ]
+        os: [ ubuntu-latest ]
+
+    env:
+      WP_ENV_PHP_VERSION: ${{ matrix.php }}
+
+    steps:
+      - name: Checkout repository
+        uses: actions/checkout@v2
+
+      - name: Log information
+        run: |
+          echo "$GITHUB_REF"
+          echo "$GITHUB_EVENT_NAME"
+          npm --version
+          node --version
+          git --version
+          php --version
+          composer --version
+
+      - name: Install Composer dependencies
+        uses: ramsey/composer-install@v1
+        with:
+          composer-options: "--ignore-platform-reqs"
+
+      - name: Cache node modules
+        uses: actions/cache@v2
+        env:
+          cache-name: cache-node-modules
+        with:
+          # npm cache files are stored in `~/.npm` on Linux/macOS
+          path: ~/.npm
+          key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
+          restore-keys: |
+            ${{ runner.os }}-build-${{ env.cache-name }}-
+            ${{ runner.os }}-build-
+            ${{ runner.os }}-
+
+      - name: Use Node.js 14.x
+        uses: actions/setup-node@v1
+        with:
+          node-version: 14.x
+
+      - name: Install node modules
+        run: npm ci
+
+      - name: Install WordPress
+        run: |
+          chmod -R 767 ./
+          npm run wp-env start
+
+      - name: Running single site unit tests
+        run: npm run ga-test-php
+        if: ${{ success() || failure() }}
+
+      - name: Running multisite unit tests
+        run: npm run ga-test-php-multisite
+        if: ${{ success() || failure() }}
diff --git package.json package.json
index 13a9f6cc5..f6564e0e2 100644
--- package.json
+++ package.json
@@ -50,7 +50,9 @@
 		"test-php": "npm run wp-env run phpunit 'php /var/www/html/wp-content/plugins/buddypress/vendor/phpunit/phpunit/phpunit -c /var/www/html/wp-content/plugins/buddypress/tests/phpunit/env.xml'",
 		"test-php:group": "npm run wp-env run phpunit 'php /var/www/html/wp-content/plugins/buddypress/vendor/phpunit/phpunit/phpunit -c /var/www/html/wp-content/plugins/buddypress/tests/phpunit/env.xml --group $npm_confi_g'",
 		"test-php-multisite": "npm run wp-env run phpunit 'php /var/www/html/wp-content/plugins/buddypress/vendor/phpunit/phpunit/phpunit -c /var/www/html/wp-content/plugins/buddypress/tests/phpunit/env.multisite.xml'",
-		"test-php-multisite:group": "npm run wp-env run phpunit 'php /var/www/html/wp-content/plugins/buddypress/vendor/phpunit/phpunit/phpunit -c /var/www/html/wp-content/plugins/buddypress/tests/phpunit/env.multisite.xml --group $npm_confi_g'"
+		"test-php-multisite:group": "npm run wp-env run phpunit 'php /var/www/html/wp-content/plugins/buddypress/vendor/phpunit/phpunit/phpunit -c /var/www/html/wp-content/plugins/buddypress/tests/phpunit/env.multisite.xml --group $npm_confi_g'",
+		"ga-test-php": "npm run wp-env run phpunit 'php /var/www/html/wp-content/plugins/BuddyPress/vendor/phpunit/phpunit/phpunit -c /var/www/html/wp-content/plugins/BuddyPress/tests/phpunit/env.xml'",
+		"ga-test-php-multisite": "npm run wp-env run phpunit 'php /var/www/html/wp-content/plugins/BuddyPress/vendor/phpunit/phpunit/phpunit -c /var/www/html/wp-content/plugins/BuddyPress/tests/phpunit/env.multisite.xml'"
 	},
 	"keywords": [
 		"activity",
