Move to GitHub Actions for CI (#167)

remove travis and .test_config
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..9dab454
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,24 @@
+name: ci
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+  schedule:
+    # “At 00:00 (UTC) on Sunday.”
+    - cron: '0 0 * * 0'
+
+jobs:
+  ci:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: cedx/setup-dart@v2
+      with:
+        release-channel: dev
+    - uses: actions/checkout@v2
+
+    - run: pub get
+
+    - run: dart format --output=none --set-exit-if-changed .
+    - run: dart analyze --fatal-infos .
+    - run: dart test -p vm,chrome
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 4e550df..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,40 +0,0 @@
-language: dart
-
-dart:
-- dev
-
-jobs:
-  include:
-    - stage: analyze_and_format
-      name: "Analyze lib/"
-      os: linux
-      script: dartanalyzer --fatal-warnings --fatal-infos lib/
-    - stage: analyze_and_format
-      name: "Analyze test/"
-      os: linux
-      script: dartanalyzer --enable-experiment=non-nullable --fatal-warnings --fatal-infos test/
-    - stage: analyze_and_format
-      name: "Format"
-      os: linux
-      script: dartfmt -n --set-exit-if-changed .
-    - stage: test
-      name: "Vm Tests"
-      os: linux
-      script: pub run --enable-experiment=non-nullable test -p vm
-    - stage: test
-      name: "Web Tests"
-      os: linux
-      script: pub run --enable-experiment=non-nullable test -p chrome
-
-stages:
-  - analyze_and_format
-  - test
-
-# Only building master means that we don't run two builds for each pull request.
-branches:
-  only: [master, null_safety]
-
-# Incremental pub cache and builds.
-cache:
-  directories:
-  - $HOME/.pub-cache