[CI] add an initial version of the full user build test
diff --git a/.travis.yml b/.travis.yml
index 409b7af..be1e0f6 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -77,3 +77,24 @@
       if: branch = master OR type=cron
       install: bash .travisCI/utils/bash_run_wrapper.sh .travisCI/utils/pdkBuild.sh
       script: bash .travisCI/dv/dv-check-wrapper.sh wb_utests 1
+    - name: "The Full User Build Test"
+      install:
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/utils/pdkBuild.sh 0
+        - sh .travisCI/precheck/precheckBuild.sh 1
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/build_openlane.sh
+      script:
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_macro.sh user_proj_example
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_macro.sh user_project_wrapper
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_make_ship.sh
+        - bash .travisCI/precheck/run-precheck.sh
+  allow_failures:
+    - name: "The Full User Build Test"
+      install:
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/utils/pdkBuild.sh 0
+        - sh .travisCI/precheck/precheckBuild.sh 1
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/build_openlane.sh
+      script:
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_macro.sh user_proj_example
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_macro.sh user_project_wrapper
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_make_ship.sh
+        - bash .travisCI/precheck/run-precheck.sh
diff --git a/.travisCI/openlane_build/build_openlane.sh b/.travisCI/openlane_build/build_openlane.sh
new file mode 100644
index 0000000..7477bd3
--- /dev/null
+++ b/.travisCI/openlane_build/build_openlane.sh
@@ -0,0 +1,21 @@
+#!/bin/bash
+# SPDX-FileCopyrightText: 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.
+# SPDX-License-Identifier: Apache-2.0
+
+export OPENLANE_ROOT=$(pwd)/../openlane
+export OPENLANE_TAG=staging
+cd openlane
+make openlane
+exit 0
diff --git a/.travisCI/openlane_build/run_macro.sh b/.travisCI/openlane_build/run_macro.sh
new file mode 100644
index 0000000..d0656f2
--- /dev/null
+++ b/.travisCI/openlane_build/run_macro.sh
@@ -0,0 +1,29 @@
+#!/bin/bash
+# SPDX-FileCopyrightText: 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.
+# SPDX-License-Identifier: Apache-2.0
+
+export OPENLANE_TAG=staging
+export PDK_ROOT=$(pwd)/../pdks
+export OPENLANE_ROOT=$(pwd)/../openlane
+export TARGET_MACRO=$1
+export logFile=$TARGET_MACRO.run.log
+make uncompress
+cd openlane
+make $TARGET_MACRO 2>&1 | tee $logFile
+
+cnt=$(grep -c "Flow Completed Without Fatal Errors" $logFile)
+if ! [[ $cnt ]]; then cnt=0; fi
+if [[ $cnt -eq 1 ]]; then exit 0; fi
+exit 2
diff --git a/.travisCI/openlane_build/run_make_ship.sh b/.travisCI/openlane_build/run_make_ship.sh
new file mode 100644
index 0000000..29da890
--- /dev/null
+++ b/.travisCI/openlane_build/run_make_ship.sh
@@ -0,0 +1,28 @@
+#!/bin/bash
+# SPDX-FileCopyrightText: 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.
+# SPDX-License-Identifier: Apache-2.0
+
+export OPENLANE_TAG=staging
+export PDK_ROOT=$(pwd)/../pdks
+export OPENLANE_ROOT=$(pwd)/../openlane
+export CARAVEL_PATH=$(pwd)
+export IMAGE_NAME=openlane:$OPENLANE_TAG
+
+rm -rf maglef/user_proj_example.mag
+rm -rf maglef/user_project_wrapper.mag
+
+docker run -it -v $CARAVEL_PATH:$CARAVEL_PATH -v $OPENLANE_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -e CARAVEL_PATH=$CARAVEL_PATH -e PDK_ROOT=$PDK_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "cd $CARAVEL_PATH; make ship;"
+
+exit 0
diff --git a/.travisCI/openlane_build/travisyml b/.travisCI/openlane_build/travisyml
new file mode 100644
index 0000000..06cf4df
--- /dev/null
+++ b/.travisCI/openlane_build/travisyml
@@ -0,0 +1,10 @@
+    - name: "The Full User Build Test"
+      install:
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/utils/pdkBuild.sh 0
+        - sh .travisCI/precheck/precheckBuild.sh 1
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/build_openlane.sh
+      script:
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_macro.sh user_proj_example
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_macro.sh user_project_wrapper
+        - bash .travisCI/utils/bash_run_wrapper.sh .travisCI/openlane_build/run_make_ship.sh
+        - bash .travisCI/precheck/run-precheck.sh