diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
new file mode 100644
index 0000000000000000000000000000000000000000..372bb082a2dc16786f57f15bd5687c96b0cbbd7b
--- /dev/null
+++ b/.github/workflows/main.yml
@@ -0,0 +1,34 @@
+name: Main
+on:
+  push:
+jobs:
+  build:
+    name: 'Build Go 1.16'
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+      - uses: actions/setup-go@v2
+        with:
+          go-version: '1.16'
+      - run: './build.sh'
+  complement:
+    name: 'Complement'
+    runs-on: ubuntu-latest
+    container:
+      # https://github.com/matrix-org/complement/blob/master/dockerfiles/ComplementCIBuildkite.Dockerfile
+      image: matrixdotorg/complement:latest
+      env:
+        CI: true
+      ports:
+        - 8448:8448
+      volumes:
+        - /var/run/docker.sock:/var/run/docker.sock
+    steps:
+      - uses: actions/checkout@v2
+      - run: docker build -t complement-media-repo -f Complement.Dockerfile .
+      - run: chmod +x ci-complement.sh
+      - run: ./ci-complement.sh
+        env:
+          CI: "true"
+          COMPLEMENT_BASE_IMAGE: "complement-media-repo"
+          COMPLEMENT_VERSION_CHECK_ITERATIONS: "400"