diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000000000000000000000000000000000000..67ccdaf2db51f64446423607e39a03dd72ece862
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,41 @@
+os:
+  - linux
+
+dist:
+  - xenial
+
+jobs:
+  include:
+    - os: linux
+      name: Octave 4.2
+      dist: xenial
+      env:
+      - BADGE=Octave_4
+    - os: linux
+      name: Octave 3.8
+      dist: trusty
+      env:
+      - BADGE=Octave_3
+    - os: windows
+      name: Windows
+      env:
+      - BADGE=Windows
+    - os: osx
+      name: OSX
+      env:
+      - BADGE=OSX
+
+before_install:
+  - if [ "$TRAVIS_OS_NAME" = "linux" ]; then sudo apt-get install octave; fi
+  - if [ "$TRAVIS_OS_NAME" = "osx" ]; then brew install octave; fi
+  - if [ "$TRAVIS_OS_NAME" = "windows" ]; then choco install octave.portable; fi
+
+addons:
+  apt:
+    packages:
+    - octave
+    update: true
+
+script:
+    - octave-cli --version
+    - octave-cli --eval "addpath(pwd);cd test;run_jsonlab_test"