diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..ecb11f5
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,39 @@
+# Copyright 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+language: minimal
+
+branches:
+  only:
+    - develop
+    - master
+    - staging
+    - /^(?i:develop)-.*$/
+
+services:
+    - docker
+
+os: 
+  - linux
+
+jobs:
+  include:
+    - name: "The Precheck Test"
+      env: TEST_SET=spm
+
+install:
+  - sh .travisCI/travisBuild.sh
+
+script:
+  - bash .travisCI/runPrecheck.sh
diff --git a/.travisCI/runPrecheck.sh b/.travisCI/runPrecheck.sh
new file mode 100644
index 0000000..05bf4ad
--- /dev/null
+++ b/.travisCI/runPrecheck.sh
@@ -0,0 +1,24 @@
+#!/bin/bash
+# Copyright 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+export TARGET_PATH=$(pwd)
+cd open_mpw_precheck
+docker run -it -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -u $(id -u $USER):$(id -g $USER) open_mpw_prechecker:latest bash -c "python3 open_mpw_prechecker.py -t $TARGET_PATH"
+output=$TARGET_PATH/checks/full_log.log
+
+cnt=$(grep -c -i "DRC violations" $output)
+if ! [[ $cnt ]]; then cnt=0; fi
+
+if [[ $cnt -eq 2 ]]; then exit 0; fi
+exit 2
diff --git a/.travisCI/travisBuild.sh b/.travisCI/travisBuild.sh
new file mode 100644
index 0000000..bc0c40c
--- /dev/null
+++ b/.travisCI/travisBuild.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# Copyright 2020 Efabless Corporation
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#      http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+export TARGET_PATH=$(pwd)
+git clone https://github.com/efabless/open_mpw_precheck.git
+cd open_mpw_precheck/dependencies
+sh build-docker.sh
+cd $TARGET_DIR
+exit 0
