diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..fb34f4741e99a8b366d46acb06c4f7472cd16f1e
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,22 @@
+name: CI
+run-name: ${{ github.actor }}
+on: [ push ]
+jobs:
+  tests:
+    runs-on: ubuntu-20.04
+    strategy:
+      matrix:
+        python-version: [ "3.5", "3.6", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12" ]
+    steps:
+      - uses: actions/checkout@main
+      - uses: actions/setup-python@main
+        with:
+          python-version: ${{ matrix.python-version }}
+          cache: pip
+      - name: Install everything
+        run: |
+          sudo apt-get update
+          sudo apt-get install -y python3-setuptools python3-yaml python3-dev
+          pip install -U pip pytest coverage pytest-cov Cython
+      - name: Test
+        run: pytest