diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml
index ec6e86fdc..cd4cdfbe9 100644
--- a/.github/workflows/build.yml
+++ b/.github/workflows/build.yml
@@ -28,22 +28,36 @@ on:
 
 jobs:
   build-linux:
-    runs-on: ubuntu-20.04
+    strategy:
+      matrix:
+        os: [ubuntu-22.04, ubuntu-20.04]
+        include:
+          - os: ubuntu-22.04
+            cc: gcc-11
+            cxx: g++-11
+          - os: ubuntu-20.04
+            cc: gcc-10
+            cxx: g++-10
+
+    runs-on: ${{ matrix.os }}
+
     env:
-      CC: 'ccache gcc-10'
-      CXX: 'ccache g++-10'
+      CC: ccache ${{ matrix.cc }}
+      CXX: ccache ${{ matrix.cxx }}
+
     steps:
       - id: checkout
         uses: actions/checkout@v3
       - id: cache-ccache
         uses: hendrikmuhs/ccache-action@v1
         with:
-          key: linux
+          key: ${{ matrix.os }}
       - name: Install dependencies
         run: |
           sudo apt-get update
           sudo apt-get install -y --no-install-recommends \
-            g++-10 libfmt-dev libboost-dev \
+            ${{ matrix.cxx }} ${{matrix.cc }} \
+            libfmt-dev libboost-dev \
             libgtest-dev \
             libpcre2-dev \
             libsystemd-dev libdbus-1-dev \