diff --git a/.github/workflows/pull_request.yml b/.github/workflows/pull_request.yml
new file mode 100644
index 0000000000000000000000000000000000000000..c1d88a495efbbd3e1ceaf06d756bc92b19cd2646
--- /dev/null
+++ b/.github/workflows/pull_request.yml
@@ -0,0 +1,31 @@
+name: Pull request checks
+
+on:
+  push:
+    branches: [ main ]
+  pull_request:
+    branches: [ main ]
+
+jobs:
+  test:
+    name: test
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        go: ['1.17']
+    steps:
+    - uses: actions/checkout@v2
+    - name: Set up Go
+      uses: actions/setup-go@v2
+      with:
+        go-version: 1.17
+    - name: Install make
+      run: sudo apt -y install make
+    - name: Run verification and tests
+      run: make fmt lint test
+    - name: Report coverage
+      uses: codecov/codecov-action@v2.1.0
+      with:
+        files: ./cover.out
+        flags: unittests
+        fail_ci_if_error: true