diff --git a/.circleci/config.yml b/.circleci/config.yml
index afdcc877d95b428805f2afe12085ab3ba1fc5263..0e4a8d969d232bdb184ae60a627dd374b32f9121 100644
--- a/.circleci/config.yml
+++ b/.circleci/config.yml
@@ -55,8 +55,25 @@ jobs:
           command: |
             bash <(curl -s https://codecov.io/bash)
 
+  release:
+    docker:
+      - image: node:10.15.3@sha256:2939bbf1f233c88ed1bc5fec51d4e6ac59beeb397b6b81371c4c576e4606de19
+    steps:
+      - checkout
+      - run: yarn install
+      - run: yarn build
+      - run: yarn semantic-release
+      - run: curl -X POST -d '{}' $NETLIFY_DEPLOY_WEBHOOK
+
 workflows:
   version: 2
-  build_and_test:
+  test_and_release:
     jobs:
       - test_node_10
+      - release:
+          requires:
+            - test_node_10
+          filters:
+            branches:
+              only:
+                - master
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 369c946505b6efd539d3fb3dcd68afcabc3a6a20..0000000000000000000000000000000000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,45 +0,0 @@
-notifications:
-  email: false
-
-language: node_js
-
-node_js:
-  - 'lts/dubnium'
-
-sudo: false
-
-branches:
-  only:
-    - master
-    - v16
-
-if: tag IS blank
-
-before_install:
-  - curl -o- -L https://yarnpkg.com/install.sh | bash
-  - export PATH="$HOME/.yarn/bin:$PATH"
-  - python --version
-  - git --version
-
-install:
-  - yarn install --frozen-lockfile
-  - pip install --user -r requirements.txt
-
-cache:
-  yarn: true
-  directories:
-    - '.cache'
-    - '.eslintcache'
-    - 'node_modules'
-
-script:
-  - yarn lint
-  - yarn test-schema
-  - yarn build
-
-deploy:
-  provider: script
-  script: curl -X POST -d '{}' $NETLIFY_DEPLOY_WEBHOOK && yarn semantic-release
-  skip_cleanup: true
-  on:
-    branch: master