diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..e92d58b2e2cf32b31f12e502e6be04df4e922d43
--- /dev/null
+++ b/.github/workflows/ci.yaml
@@ -0,0 +1,54 @@
+name: ci
+on:
+  - push
+  - pull_request
+env:
+  golang-version: '1.15'
+  kind-version: 'v0.11.1'
+jobs:
+  generate:
+    runs-on: ${{ matrix.os }}
+    strategy:
+      matrix:
+        os:
+          - macos-latest
+          - ubuntu-latest
+    name: Generate
+    steps:
+    - uses: actions/checkout@v2
+    - uses: actions/setup-go@v2
+      with:
+        go-version: ${{ env.golang-version }}
+    - run: make --always-make generate && git diff --exit-code
+  unit-tests:
+    runs-on: ubuntu-latest
+    name: Unit tests
+    steps:
+    - uses: actions/checkout@v2
+    - run: make --always-make test
+  e2e-tests:
+    name: E2E tests
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        kind-image:
+          - 'kindest/node:v1.18.19'
+    steps:
+    - uses: actions/checkout@v2
+    - name: Start KinD
+      uses: engineerd/setup-kind@v0.5.0
+      with:
+        version: ${{ env.kind-version }}
+        image: ${{ matrix.kind-image }}
+        wait: 300s
+    - name: Wait for cluster to finish bootstraping
+      run: kubectl wait --for=condition=Ready pods --all --all-namespaces --timeout=300s
+    - name: Create kube-prometheus stack
+      run: |
+        kubectl create -f manifests/setup
+        until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
+        kubectl create -f manifests/
+    - name: Run tests
+      run: |
+        export KUBECONFIG="${HOME}/.kube/config"
+        make test-e2e
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 6734035887c668492d49ce0bb1e19f70ea921733..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-sudo: required
-dist: xenial
-language: go
-
-go:
-- "1.13.x"
-go_import_path: github.com/coreos/kube-prometheus
-
-cache:
-  directories:
-  - $GOCACHE
-  - $GOPATH/pkg/mod
-
-jobs:
-  include:
-  - name: Check generated files
-    script: make --always-make generate && git diff --exit-code
-  - name: Run tests
-    script: make --always-make test
-  - name: Run e2e tests
-    script: ./tests/e2e/travis-e2e.sh