diff --git a/.github/workflows/continuous_integration.yaml b/.github/workflows/continuous_integration.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..96f3ebceb88bf90edd8d92c5539f0a8cd6725332
--- /dev/null
+++ b/.github/workflows/continuous_integration.yaml
@@ -0,0 +1,53 @@
+name: CI
+
+on: [pull_request]
+
+jobs:
+  lint:
+    name: Lint
+    runs-on: ubuntu-latest
+    steps:
+    - name: Setup
+      uses: actions/setup-go@v2
+      with:
+        go-version: '1.14'
+    - name: Checkout
+      uses: actions/checkout@v2
+    - name: Lint
+      run: make lint
+
+  test:
+    name: Test
+    runs-on: ubuntu-latest
+    steps:
+    - name: Setup
+      uses: actions/setup-go@v2
+      with:
+        go-version: '1.14'
+    - name: Checkout
+      uses: actions/checkout@v2
+    - name: Test
+      run: make testci
+    - name: Code coverage
+      uses: codecov/codecov-action@v1
+      with:
+        file: ./coverage.txt
+
+  regression_test:
+    name: Regression Tests
+    runs-on: ubuntu-latest
+    strategy:
+      matrix:
+        go_version:
+        - '1.11'
+        - '1.12'
+        - '1.13'
+    steps:
+    - name: Setup
+      uses: actions/setup-go@v2
+      with:
+        go-version: ${{matrix.go_version}}
+    - name: Checkout
+      uses: actions/checkout@v2
+    - name: Test
+      run: make test
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 2176f307c4b7862535cfa74513683de328e35bbb..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,29 +0,0 @@
----
-language: go
-go:
-  - '1.11'
-  - '1.12'
-  - '1.13'
-
-script:
-  - make lint
-  - make testci
-
-after_success:
-  # Upload test coverage results to codecov.io
-  # https://github.com/codecov/example-go/blob/b85638743b972bd0bd2af63421fe513c6f968930/README.md
-  - bash <(curl -s https://codecov.io/bash)
-
-# With this filter, we aim to restrict Travis's "Build Pushes" feature to build
-# only pushes to master, while allowing the "Build Pull Requests" to build all
-# incoming pull requests without redundant double-builds.
-#
-# This is confusing on Travis's end; this captures the exact problem we're
-# trying to solve:
-# https://stackoverflow.com/a/31882307
-branches:
-  only:
-    - master
-
-notifications:
-  email: false