Move to GitHub actions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..36eb913
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,35 @@
+name: Dart
+
+on:
+  schedule:
+    # “At 00:00 (UTC) on Sunday.”
+    - cron: '0 0 * * 0'
+  pull_request:
+  push:
+    branches:
+      - master
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    container:
+      image:  google/dart:dev
+
+    steps:
+      - uses: actions/checkout@v2
+
+      - name: Print Dart version
+        run: dart --version
+
+      - name: pub get
+        run: pub get
+
+      - name: dart format
+        run: dart format --output=none --set-exit-if-changed .
+
+      - name: dart analyze
+        run: dart analyze --fatal-infos
+
+      - name: dart test
+        run: dart test
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 14549bb..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,23 +0,0 @@
-language: dart
-
-dart:
-  - 2.12.0-29.10.beta
-  - dev
-
-dart_task:
-  - test: -p vm,chrome
-  - dartanalyzer: --fatal-infos --fatal-warnings .
-
-matrix:
-  include:
-  # Only validate formatting using the dev release
-  - dart: dev
-    dart_task: dartfmt
-
-# Only building master means that we don't run two builds for each pull request.
-branches:
-  only: [master]
-
-cache:
-  directories:
-  - $HOME/.pub-cache