diff --git a/.github/workflows/moodle-plugin-ci.yml b/.github/workflows/moodle-plugin-ci.yml
index c62d8c83e92a590953e39ac88430113f93e382c2..a92ff42c9ef4d88cab7d070b0e78e1f7157f7589 100644
--- a/.github/workflows/moodle-plugin-ci.yml
+++ b/.github/workflows/moodle-plugin-ci.yml
@@ -4,11 +4,11 @@ on: [push, pull_request]
 
 jobs:
   test:
-    runs-on: ubuntu-18.04
+    runs-on: ubuntu-latest
 
     services:
       postgres:
-        image: postgres:10
+        image: postgres
         env:
           POSTGRES_USER: 'postgres'
           POSTGRES_HOST_AUTH_METHOD: 'trust'
@@ -16,7 +16,7 @@ jobs:
           - 5432:5432
         options: --health-cmd pg_isready --health-interval 10s --health-timeout 5s --health-retries 3
       mariadb:
-        image: mariadb:10.5
+        image: mariadb
         env:
           MYSQL_USER: 'root'
           MYSQL_ALLOW_EMPTY_PASSWORD: "true"
@@ -28,6 +28,34 @@ jobs:
       fail-fast: false
       matrix:
         include:
+          - php: 8.0
+            moodle-branch: MOODLE_401_STABLE
+            database: pgsql
+          - php: 8.0
+            moodle-branch: MOODLE_401_STABLE
+            database: mariadb
+
+          - php: 8.0
+            moodle-branch: MOODLE_400_STABLE
+            database: pgsql
+          - php: 8.0
+            moodle-branch: MOODLE_400_STABLE
+            database: mariadb
+
+          - php: 7.4
+            moodle-branch: MOODLE_401_STABLE
+            database: pgsql
+          - php: 7.4
+            moodle-branch: MOODLE_401_STABLE
+            database: mariadb
+
+          - php: 7.4
+            moodle-branch: MOODLE_400_STABLE
+            database: pgsql
+          - php: 7.4
+            moodle-branch: MOODLE_400_STABLE
+            database: mariadb
+
           - php: 7.4
             moodle-branch: MOODLE_311_STABLE
             database: pgsql
@@ -44,7 +72,7 @@ jobs:
 
     steps:
       - name: Check out repository code
-        uses: actions/checkout@v2
+        uses: actions/checkout@v3
         with:
           path: plugin
 
@@ -58,7 +86,7 @@ jobs:
 
       - name: Initialise moodle-plugin-ci
         run: |
-          composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^3
+          composer create-project -n --no-dev --prefer-dist moodlehq/moodle-plugin-ci ci ^4
           echo $(cd ci/bin; pwd) >> $GITHUB_PATH
           echo $(cd ci/vendor/bin; pwd) >> $GITHUB_PATH
           sudo locale-gen en_AU.UTF-8
@@ -118,6 +146,4 @@ jobs:
 
       - name: Behat features
         if: ${{ always() }}
-        run: moodle-plugin-ci behat --profile chrome
-
-
+        run: moodle-plugin-ci behat --profile chrome
\ No newline at end of file