switch to github actions
diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
new file mode 100644
index 0000000..c0905d4
--- /dev/null
+++ b/.github/workflows/build.yaml
@@ -0,0 +1,29 @@
+name: Dart
+
+on:
+  pull_request:
+  push:
+    branches:
+      - master
+
+jobs:
+  build:
+    runs-on: ubuntu-latest
+
+    container:
+      image:  google/dart:dev
+
+    steps:
+      - uses: actions/checkout@v2
+
+      - 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 084f38e..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,18 +0,0 @@
-language: dart
-dart:
-  - dev
-  - stable
-
-install: ./tool/travis-setup.sh
-
-jobs:
-  include:
-    - stage: test
-      script: ./tool/travis.sh
-      env: PUB_HOSTED_URL=https://pub.flutter-io.cn
-    - stage: test
-      script: ./tool/travis.sh
-
-branches:
-  only:
-    - master