diff --git a/.github/scripts/dv/dv-check-wrapper.sh b/.github/scripts/dv/dv-check-wrapper.sh
new file mode 100644
index 0000000..c677e61
--- /dev/null
+++ b/.github/scripts/dv/dv-check-wrapper.sh
@@ -0,0 +1,48 @@
+#!/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 TARGET_PATH=$(pwd)
+cd ../
+export PDK_PATH=$(pwd)/pdks/sky130A
+cd $TARGET_PATH
+
+export RUN_WRAPPER=$TARGET_PATH/.github/scripts/utils/run_wrapper.sh
+
+target_dv=$1
+target_id=$2
+
+bash $RUN_WRAPPER "docker pull efabless/dv_setup:latest"
+
+docker run -v $TARGET_PATH:$TARGET_PATH -v $PDK_PATH:$PDK_PATH \
+            -e TARGET_PATH=$TARGET_PATH -e PDK_PATH=$PDK_PATH \
+            -u $(id -u $USER):$(id -g $USER) efabless/dv_setup:latest \
+            bash -c "bash $TARGET_PATH/.github/scripts/dv/run-dv-$target_dv.sh $PDK_PATH $TARGET_PATH $target_id"
+
+echo "DONE!"
+
+VERDICT_FILE=$TARGET_PATH/$target_dv\_verdict.out
+cat $VERDICT_FILE
+if [ -f $VERDICT_FILE ]; then
+        cnt=$(grep "PASS" $VERDICT_FILE -s | wc -l)
+        if ! [[ $cnt ]]; then cnt = 0; fi
+else
+        echo "DV check failed due to subscript failure. Please review the logs";
+        exit 2;
+fi
+
+echo "Verdict: $cnt"
+
+if [[ $cnt -eq 1 ]]; then exit 0; fi
+exit 2;
diff --git a/.github/scripts/dv/run-dv-set.sh b/.github/scripts/dv/run-dv-set.sh
new file mode 100644
index 0000000..5f757db
--- /dev/null
+++ b/.github/scripts/dv/run-dv-set.sh
@@ -0,0 +1,65 @@
+#!/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
+
+PDK_PATH=$1; shift
+PATTERNS=( "$@" )
+last_idx=$(( ${#PATTERNS[@]} - 1 ))
+TARGET_PATH=${PATTERNS[$last_idx]}
+unset PATTERNS[$last_idx]
+last_idx=$(( ${#PATTERNS[@]} - 1 ))
+ID=${PATTERNS[$last_idx]}
+unset PATTERNS[$last_idx]
+last_idx=$(( ${#PATTERNS[@]} - 1 ))
+TARGET_DV=${PATTERNS[$last_idx]}
+unset PATTERNS[$last_idx]
+last_idx=$(( ${#PATTERNS[@]} - 1 ))
+PARENT=${PATTERNS[$last_idx]}
+unset PATTERNS[$last_idx]
+
+
+echo "arg1=$PDK_PATH"
+echo "arg2=$PARENT"
+echo "arg3=$TARGET_DV"
+echo "arg4=$ID"
+echo "arg5=$TARGET_PATH"
+echo "PATTERNS contains:"
+printf "%s\n" "${PATTERNS[@]}"
+
+export RUN_WRAPPER=$TARGET_PATH/.github/scripts/utils/run_wrapper.sh
+
+OUT_FILE=$TARGET_PATH/$TARGET_DV\_dv.$ID.out
+cd $TARGET_PATH/verilog/dv/$PARENT/$TARGET_DV;
+touch $OUT_FILE
+for PATTERN in ${PATTERNS[*]}
+do
+    echo "Executing DV on $PATTERN";
+    cd $PATTERN;
+    for x in RTL GL
+    do
+        export SIM=$x
+        echo "Running $PATTERN $SIM.."
+        logFile=$TARGET_PATH/$TARGET_DV\_$PATTERN.$SIM.dv.out
+        bash $RUN_WRAPPER "make" 2>&1 | tee $logFile
+        grep "Monitor" $logFile >> $OUT_FILE
+        make clean
+    done
+    echo "Execution Done on $PATTERN!"
+    cd ..;
+done
+
+cat $OUT_FILE
+
+exit 0
diff --git a/.github/scripts/dv/run-dv-user_proj_example.sh b/.github/scripts/dv/run-dv-user_proj_example.sh
new file mode 100644
index 0000000..ed8995f
--- /dev/null
+++ b/.github/scripts/dv/run-dv-user_proj_example.sh
@@ -0,0 +1,62 @@
+#!/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
+
+PDK_PATH=$1
+TARGET_PATH=$2
+ID=$3
+
+USER_PROJ_EXAMPLE_PATTERNS_1=(io_ports la_test2)
+USER_PROJ_EXAMPLE_PATTERNS_2=(la_test1)
+
+
+VERDICT_FILE=$TARGET_PATH/user_proj_example_verdict.out
+OUT_FILE=$TARGET_PATH/user_proj_example_dv.$ID.out
+
+case $ID in
+
+  1)
+    bash $TARGET_PATH/.github/scripts/dv/run-dv-set.sh $PDK_PATH "${USER_PROJ_EXAMPLE_PATTERNS_1[@]}" caravel user_proj_example 1 $TARGET_PATH
+    len=${#USER_PROJ_EXAMPLE_PATTERNS_1[@]}
+    export TOTAL=$(( 2*(len) ))
+    ;;
+
+  2)
+    bash $TARGET_PATH/.github/scripts/dv/run-dv-set.sh $PDK_PATH "${USER_PROJ_EXAMPLE_PATTERNS_2[@]}" caravel user_proj_example 2 $TARGET_PATH
+    len=${#USER_PROJ_EXAMPLE_PATTERNS_2[@]}
+    export TOTAL=$(( 2*(len) ))
+    ;;
+
+  *)
+    echo -n "unknown ID $ID"
+    exit 2
+    ;;
+esac
+
+cnt=$(grep -i "Passed" $OUT_FILE | wc -l)
+
+
+echo "total passed expected: $TOTAL"
+echo "passed found: $cnt"
+if [[ $cnt -eq $TOTAL ]]; then echo "PASS" > $VERDICT_FILE; exit 0; fi
+
+echo "FAIL" > $VERDICT_FILE
+
+
+echo "Total Verdict File:"
+cat $VERDICT_FILE
+
+exit 0
+
diff --git a/.github/scripts/precheck/precheckBuild.sh b/.github/scripts/precheck/precheckBuild.sh
new file mode 100644
index 0000000..d618190
--- /dev/null
+++ b/.github/scripts/precheck/precheckBuild.sh
@@ -0,0 +1,36 @@
+#!/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
+
+# By default build pdk since we don't need the other script for the main purpose
+export SKIP_PDK_BUILD=${1:-0}
+
+export TARGET_PATH=$(pwd)
+git clone https://github.com/efabless/open_mpw_precheck.git
+
+docker pull efabless/open_mpw_precheck:latest
+
+
+if [ $SKIP_PDK_BUILD -eq 0 ]; then
+    cd $TARGET_PATH/..
+    export PDK_ROOT=$(pwd)/precheck_pdks
+    mkdir $PDK_ROOT
+    cd $TARGET_PATH/open_mpw_precheck/dependencies
+    sh build-pdk.sh
+    cd $TARGET_DIR
+
+fi
+
+exit 0
diff --git a/.github/scripts/precheck/run-precheck.sh b/.github/scripts/precheck/run-precheck.sh
new file mode 100644
index 0000000..569ecc7
--- /dev/null
+++ b/.github/scripts/precheck/run-precheck.sh
@@ -0,0 +1,35 @@
+#!/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 TARGET_PATH=$(pwd)
+cd ..
+export PDK_ROOT=$(pwd)/precheck_pdks
+cd $TARGET_PATH/open_mpw_precheck/
+
+docker run -v $(pwd):/usr/local/bin -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT -u $(id -u $USER):$(id -g $USER) efabless/open_mpw_precheck:latest bash -c "python3 open_mpw_prechecker.py -p $PDK_ROOT -t $TARGET_PATH"
+output=$TARGET_PATH/checks/full_log.log
+
+gzipped_file=$TARGET_PATH/checks/full_log.log.gz
+
+if [[ -f $gzipped_file ]]; then
+    gzip -d $gzipped_file
+fi
+
+grep "Violation Message" $output
+
+cnt=$(grep -c "All Checks PASSED!" $output)
+if ! [[ $cnt ]]; then cnt=0; fi
+if [[ $cnt -eq 1 ]]; then exit 0; fi
+exit 2
diff --git a/.github/scripts/utils/bash_run_wrapper.sh b/.github/scripts/utils/bash_run_wrapper.sh
new file mode 100644
index 0000000..7ab39e0
--- /dev/null
+++ b/.github/scripts/utils/bash_run_wrapper.sh
@@ -0,0 +1,26 @@
+
+#!/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
+
+# Abort on Error
+set -e
+
+# Test script is provided as a relative path
+export WORKDIR=$(pwd)
+export TEST_SCRIPT=$WORKDIR/$1
+export TAILING_LINES=${2:-500}
+
+bash $WORKDIR/.github/scripts/utils/run_wrapper.sh "bash $TEST_SCRIPT" "$TAILING_LINES"
diff --git a/.github/scripts/utils/pdkBuild.sh b/.github/scripts/utils/pdkBuild.sh
new file mode 100644
index 0000000..b8f938d
--- /dev/null
+++ b/.github/scripts/utils/pdkBuild.sh
@@ -0,0 +1,61 @@
+#!/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 RUN_ROOT=$(pwd)
+
+
+# By default skip timing since we don't need the libs in any of the CI tests
+export SKIP_TIMING=${1:-1}
+export OPENLANE_TAG=rc7
+export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG
+docker pull $IMAGE_NAME
+
+cd $RUN_ROOT/..
+export PDK_ROOT=$(pwd)/pdks
+mkdir $PDK_ROOT
+echo $PDK_ROOT
+echo $RUN_ROOT
+cd $RUN_ROOT
+make skywater-pdk
+make skywater-library
+# The following section is for running on the CI.
+# If you're running locally you should replace them with: `make skywater-library`
+# This is because sometimes while setting up the conda env (skywater's make timing) it fails to fetch something
+# Then it exits without retrying. So, here we're retrying, and if something goes wrong it will exit after 5 retries.
+# Section Begin
+if [ $SKIP_TIMING -eq 0 ]; then
+	cnt=0
+	until make skywater-timing; do
+	cnt=$((cnt+1))
+	if [ $cnt -eq 5 ]; then
+		exit 2
+	fi
+	rm -rf $PDK_ROOT/skywater-pdk
+	make skywater-pdk
+	make skywater-library
+	done
+fi
+# Section End
+
+make open_pdks
+docker run -v $RUN_ROOT:/openLANE_flow -v $PDK_ROOT:$PDK_ROOT -e PDK_ROOT=$PDK_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME  bash -c "make build-pdk"
+echo "done installing"
+echo "Delete docker image:"
+docker rmi $IMAGE_NAME
+echo "Cleaning up PDK installation directory"
+rm -rf $PDK_ROOT/skywater-pdk/
+rm -rf $PDK_ROOT/open_pdks/
+cd $RUN_ROOT
+exit 0
diff --git a/.github/scripts/utils/run_wrapper.sh b/.github/scripts/utils/run_wrapper.sh
new file mode 100644
index 0000000..48a9f6a
--- /dev/null
+++ b/.github/scripts/utils/run_wrapper.sh
@@ -0,0 +1,60 @@
+
+#!/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
+
+# Adopted from Chris Snow
+# https://stackoverflow.com/questions/26082444/how-to-work-around-travis-cis-4mb-output-limit/26082445#26082445
+
+# Abort on Error
+set -e
+
+# Test script is provided as a relative path
+export WORKDIR=$(pwd)
+export COMMAND=$1
+export TAILING_LINES=${2:-500}
+export PING_SLEEP=30s
+export BUILD_OUTPUT=$WORKDIR/build.out
+
+touch $BUILD_OUTPUT
+
+dump_output() {
+   echo Tailing the last $TAILING_LINES lines of output:
+   tail -$TAILING_LINES $BUILD_OUTPUT
+   rm -f $BUILD_OUTPUT
+}
+error_handler() {
+  echo ERROR: An error was encountered with the build.
+  dump_output
+  kill $PING_LOOP_PID
+  exit 1
+}
+# If an error occurs, run our error handler to output a tail of the build
+trap 'error_handler' ERR
+
+# Set up a repeating loop to send some output to Travis.
+
+bash -c "while true; do echo \$(date) - running $COMMAND ...; sleep $PING_SLEEP; done" &
+export PING_LOOP_PID=$!
+
+# your_build_command_1 >> $BUILD_OUTPUT 2>&1
+# your_build_command_2 >> $BUILD_OUTPUT 2>&1
+$COMMAND >> $BUILD_OUTPUT 2>&1
+
+# The build finished without returning an error so dump a tail of the output
+dump_output
+
+# nicely terminate the ping output loop
+kill $PING_LOOP_PID
diff --git a/.github/workflows/caravel_example_ci.yml b/.github/workflows/caravel_example_ci.yml
new file mode 100644
index 0000000..da76702
--- /dev/null
+++ b/.github/workflows/caravel_example_ci.yml
@@ -0,0 +1,66 @@
+name: CI
+
+
+on:
+    # Runs on Every Push
+    push:
+    # Runs on Pull Requests
+    pull_request:
+
+jobs:
+  precheck:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: 'true'
+
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v1
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Install The Precheck
+        run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/precheckBuild.sh
+
+      - name: Run The Precheck
+        run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck.sh
+
+  simulation-1:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: 'true'
+
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v1
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Install The PDK
+        run: bash ${GITHUB_WORKSPACE}/.github/scripts/utils/bash_run_wrapper.sh .github/scripts/utils/pdkBuild.sh
+
+      - name: Run The Simulation
+        run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/dv-check-wrapper.sh user_proj_example 1
+
+  simulation-2:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v2
+        with:
+          submodules: 'true'
+
+      - name: Set up QEMU
+        uses: docker/setup-qemu-action@v1
+
+      - name: Set up Docker Buildx
+        uses: docker/setup-buildx-action@v1
+
+      - name: Install The PDK
+        run: bash ${GITHUB_WORKSPACE}/.github/scripts/utils/bash_run_wrapper.sh .github/scripts/utils/pdkBuild.sh
+
+      - name: Run The Simulation
+        run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/dv-check-wrapper.sh user_proj_example 2
