diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
new file mode 100644
index 0000000000000000000000000000000000000000..196f10f8a91fa4c232ca15006a62c727158f0235
--- /dev/null
+++ b/.github/workflows/linux.yml
@@ -0,0 +1,25 @@
+name: Check build on linux
+
+on: ["push", "pull_request"]
+
+jobs:
+  test:
+    name: "Test python ${{ matrix.python }} on ${{ matrix.ubuntu }}.04"
+    runs-on: "ubuntu-${{ matrix.ubuntu }}.04"
+    strategy:
+      matrix:
+        python: [2, 3]
+        ubuntu: [18, 20, 22]
+        exclude:
+          - ubuntu: 22
+            python: 2
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          submodules: 'true'
+      - run: |
+          sudo apt-get update
+          sudo apt-get install cmake libboost-all-dev libeigen3-dev python*-numpy python*-dev
+      - run: cmake -DPYTHON_EXECUTABLE=$(which python${{ matrix.python }}) .
+      - run: make
+      - run: make test