Move from Travis to GitHub actions for CI (#98)

Also delete the unneeded .test_config file
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 0000000..67946ac
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,46 @@
+name: ci
+
+on:
+  push:
+    branches: [ master ]
+  pull_request:
+  schedule:
+    # “At 00:00 (UTC) on Sunday.”
+    - cron: '0 0 * * 0'
+
+jobs:
+  analyze_format:
+    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 .
+  test_web:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: cedx/setup-dart@v2
+      with:
+        release-channel: dev
+    - uses: actions/checkout@v2
+
+    - run: pub get
+    - run: dart test -p chrome
+  test_vm:
+    strategy:
+      matrix:
+       os: [macos-latest, windows-latest, ubuntu-latest]
+    runs-on: ${{ matrix.os }}
+    steps:
+    - uses: cedx/setup-dart@v2
+      with:
+        release-channel: dev
+    - uses: actions/checkout@v2
+
+    - run: pub get
+    - run: dart test -p vm
diff --git a/.test_config b/.test_config
deleted file mode 100644
index 412fc5c..0000000
--- a/.test_config
+++ /dev/null
@@ -1,3 +0,0 @@
-{
-  "test_package": true
-}
\ No newline at end of file
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 60e6a3e..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,27 +0,0 @@
-language: dart
-
-dart:
-  - dev
-
-jobs:
-  include:
-  - script: pub run --enable-experiment=non-nullable test
-    os: linux
-  - script: pub run --enable-experiment=non-nullable test
-    os: windows
-  - script: pub run --enable-experiment=non-nullable test
-    os: osx
-  - dart_task: dartfmt
-  - dart_task:
-      dartanalyzer: --enable-experiment=non-nullable --fatal-infos --fatal-warnings .
-  - script: pub run --enable-experiment=non-nullable test -p chrome
-    os: linux
-
-# Only building master means that we don't run two builds for each pull request.
-# Temporarily adding `null_safety`
-branches:
-  only: [master]
-
-cache:
- directories:
-   - $HOME/.pub-cache