EFIC-233 - Update CI
diff --git a/.github/scripts/build/run-set-id.sh b/.github/scripts/build/run-set-id.sh index 9cb87f8..ec72c43 100644 --- a/.github/scripts/build/run-set-id.sh +++ b/.github/scripts/build/run-set-id.sh
@@ -24,15 +24,15 @@ cd $UPRJ_ROOT # Install full version of caravel -git clone https://github.com/efabless/caravel --depth 1 $CARAVEL_ROOT +git clone --depth 1 https://github.com/efabless/caravel $CARAVEL_ROOT LOG_FILE=out.log docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -e UPRJ_ROOT=$UPRJ_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "cd $CARAVEL_ROOT; make uncompress; cd $UPRJ_ROOT; export USER_ID=$USER_ID; make set_user_id | tee $LOG_FILE;" cnt=$(grep "Done" $LOG_FILE -s | wc -l) -if [[ $cnt -ne 3 ]]; then - exit 2; +if [[ $cnt -ne 3 ]]; then + exit 2 fi exit 0
diff --git a/.github/scripts/build/run-xor.sh b/.github/scripts/build/run-xor.sh deleted file mode 100644 index e666188..0000000 --- a/.github/scripts/build/run-xor.sh +++ /dev/null
@@ -1,39 +0,0 @@ -#!/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 UPRJ_ROOT=$(pwd) -cd .. -export PDK_ROOT=$(pwd)/pdks -export CARAVEL_ROOT=$(pwd)/caravel -export IMAGE_NAME=efabless/openlane:$OPENLANE_TAG - -cd $UPRJ_ROOT - -# Install full version of caravel -git clone https://github.com/efabless/caravel --branch develop --depth 1 $CARAVEL_ROOT - -LOG_FILE=out.log -docker run -v $UPRJ_ROOT:$UPRJ_ROOT -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -e UPRJ_ROOT=$UPRJ_ROOT -e PDK_ROOT=$PDK_ROOT -e CARAVEL_ROOT=$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) $IMAGE_NAME bash -c "cd $UPRJ_ROOT; export USER_ID=$USER_ID; make xor-analog-wrapper | tee $LOG_FILE;" - -cnt=$(grep -oP '(?<=Total XOR differences = )[0-9]+' $LOG_FILE) - -echo "Total XOR differences = $cnt" - -if [[ $cnt -ne 0 ]]; then - exit 2; -fi - -exit 0
diff --git a/.github/scripts/build_pdk.sh b/.github/scripts/build_pdk.sh new file mode 100644 index 0000000..8317b6a --- /dev/null +++ b/.github/scripts/build_pdk.sh
@@ -0,0 +1,25 @@ +#!/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 +git clone --depth=1 https://github.com/efabless/caravel-lite.git + +export HOME=$(pwd) +cd .. +export PDK_ROOT=$(pwd)/pdks && mkdir "$PDK_ROOT" +cd "$HOME"/caravel-lite/ || exit + +make skywater-pdk skywater-library open_pdks build-pdk gen-sources + +exit 0
diff --git a/.github/scripts/dv/pdkBuild.sh b/.github/scripts/dv/pdkBuild.sh deleted file mode 100644 index 9f9ac93..0000000 --- a/.github/scripts/dv/pdkBuild.sh +++ /dev/null
@@ -1,59 +0,0 @@ -#!/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 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" - -rm -rf $PDK_ROOT/open_pdks -rm -rf $PDK_ROOT/skywater-pdk - -echo "done installing" -cd $RUN_ROOT -exit 0 \ No newline at end of file
diff --git a/.github/scripts/dv/run-dv-wrapper.sh b/.github/scripts/dv/run-dv-wrapper.sh index 20bc951..c4a6902 100644 --- a/.github/scripts/dv/run-dv-wrapper.sh +++ b/.github/scripts/dv/run-dv-wrapper.sh
@@ -24,36 +24,32 @@ export TARGET_PATH=$(pwd) export CARAVEL_ROOT=$(pwd)/caravel -if [ ! -d $TARGET_PATH ] -then - echo "Directory /path/to/dir DOES NOT exists." - exit 9999 +if [ ! -d $TARGET_PATH ]; then + echo "Directory /path/to/dir DOES NOT exists." + exit 9999 fi cd .. export PDK_ROOT=$(pwd)/pdks -if [ ! -d $PDK_ROOT ] -then - echo "Directory /path/to/dir DOES NOT exists." - exit 9999 -fi - -DV_PATH=$TARGET_PATH/verilog/dv -if [ ! -d $DV_PATH ] -then - echo "Directory /path/to/dir DOES NOT exists." +if [ ! -d $PDK_ROOT ]; then + echo "Directory /path/to/dir DOES NOT exists." exit 9999 fi -for id in "${DV_TEST_IDS[@]}" -do +DV_PATH=$TARGET_PATH/verilog/dv +if [ ! -d $DV_PATH ]; then + echo "Directory /path/to/dir DOES NOT exists." + exit 9999 +fi + +for id in "${DV_TEST_IDS[@]}"; do docker run -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT \ - -v $CARAVEL_ROOT:$CARAVEL_ROOT \ - -e TARGET_PATH=$TARGET_PATH -e PDK_ROOT=$PDK_ROOT \ - -e CARAVEL_ROOT=$CARAVEL_ROOT \ - -u $(id -u $USER):$(id -g $USER) efabless/dv_setup:latest \ - bash -c "bash $TARGET_PATH/.github/scripts/dv/run-dv.sh $PDK_ROOT $DV_PATH $id $SIM_MODE" + -v $CARAVEL_ROOT:$CARAVEL_ROOT \ + -e TARGET_PATH=$TARGET_PATH -e PDK_ROOT=$PDK_ROOT \ + -e CARAVEL_ROOT=$CARAVEL_ROOT \ + -u $(id -u $USER):$(id -g $USER) efabless/dv_setup:latest \ + bash -c "bash $TARGET_PATH/.github/scripts/dv/run-dv.sh $PDK_ROOT $DV_PATH $id $SIM_MODE" echo "DONE!" @@ -63,15 +59,15 @@ 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; + echo "DV check failed due to subscript failure. Please review the logs" + exit 2 fi echo "Verdict: $cnt" - if [[ $cnt -ne 1 ]]; then - exit 2; + if [[ $cnt -ne 1 ]]; then + exit 2 fi done -exit 0; +exit 0
diff --git a/.github/scripts/dv/run-dv.sh b/.github/scripts/dv/run-dv.sh index 53b7e96..d08b5c5 100644 --- a/.github/scripts/dv/run-dv.sh +++ b/.github/scripts/dv/run-dv.sh
@@ -5,7 +5,7 @@ cd $DV_PATH -## get the name of all subdfolders under verilog/dv +## get the name of all subdfolders under verilog/dv ALL_DV_TESTS="$(find * -maxdepth 0 -type d)" ## convert all ALL_DV_TESTS to an array TESTS_ARR=($ALL_DV_TESTS) @@ -13,8 +13,7 @@ len=${#TESTS_ARR[@]} ## make sure that the test ID is less than the array length -if [ $DV_TEST_ID -ge $len ] -then +if [ $DV_TEST_ID -ge $len ]; then echo "Error: Invalid Test ID" exit 1 fi @@ -30,11 +29,11 @@ cd $PATTERN echo $(pwd) make 2>&1 | tee $logFile -grep "Monitor" $logFile >> $OUT_FILE +grep "Monitor" $logFile >>$OUT_FILE make clean echo "Execution Done on $PATTERN !" cat $OUT_FILE -exit 0 \ No newline at end of file +exit 0
diff --git a/.github/scripts/install_magic.sh b/.github/scripts/install_magic.sh new file mode 100644 index 0000000..ca91137 --- /dev/null +++ b/.github/scripts/install_magic.sh
@@ -0,0 +1,24 @@ +#!/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 +sudo apt-get install -y csh freeglut3-dev libncurses5-dev libncursesw5-dev libglu1-mesa-dev libx11-dev mesa-common-dev tcl tcl-dev tk tk-dev + +git clone --depth=1 --branch 8.3.265 https://github.com/RTimothyEdwards/magic.git +cd magic || exit +sudo ./configure --disable-locking --prefix=/usr CFLAGS='-g -O0 -m64 -fPIC' +sudo make -j4 +sudo make install + +exit 0
diff --git a/.github/scripts/precheck/precheckBuild.sh b/.github/scripts/precheck/precheckBuild.sh deleted file mode 100644 index 7754922..0000000 --- a/.github/scripts/precheck/precheckBuild.sh +++ /dev/null
@@ -1,36 +0,0 @@ -#!/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/mpw_precheck.git - -docker pull efabless/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/mpw_precheck/dependencies - sh build-pdk.sh - cd $TARGET_DIR - -fi - -exit 0
diff --git a/.github/scripts/precheck/run-precheck-drc.sh b/.github/scripts/precheck/run-precheck-drc.sh deleted file mode 100644 index dd38dc0..0000000 --- a/.github/scripts/precheck/run-precheck-drc.sh +++ /dev/null
@@ -1,38 +0,0 @@ -#!/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) -export CARAVEL_ROOT=$(pwd)/caravel -cd .. -export PDK_ROOT=$(pwd)/precheck_pdks -export PRECHECK_ROOT=$TARGET_PATH/mpw_precheck/ -export OUTPUT_DIRECTORY=$TARGET_PATH/checks -cd $TARGET_PATH/mpw_precheck/ - -docker run -v $PRECHECK_ROOT:$PRECHECK_ROOT -v $TARGET_PATH:$TARGET_PATH -v $CARAVEL_ROOT:$CARAVEL_ROOT -v $PDK_ROOT:$PDK_ROOT -u $(id -u $USER):$(id -g $USER) efabless/mpw_precheck:latest bash -c "cd $PRECHECK_ROOT; python3 mpw_precheck.py magic_drc klayout_offgrid klayout_feol klayout_zeroarea klayout_pin_label_purposes_overlapping_drawing --pdk_root $PDK_ROOT --input_directory $TARGET_PATH --caravel_root $CARAVEL_ROOT --output_directory $OUTPUT_DIRECTORY" -output=$OUTPUT_DIRECTORY/logs/precheck.log - -gzipped_file=$OUTPUT_DIRECTORY/logs/precheck.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 \ No newline at end of file
diff --git a/.github/scripts/precheck/run-precheck.sh b/.github/scripts/precheck/run-precheck.sh deleted file mode 100644 index 66d5da6..0000000 --- a/.github/scripts/precheck/run-precheck.sh +++ /dev/null
@@ -1,38 +0,0 @@ -#!/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) -export CARAVEL_ROOT=$(pwd)/caravel -cd .. -export PDK_ROOT=$(pwd)/precheck_pdks -export PRECHECK_ROOT=$TARGET_PATH/mpw_precheck/ -export OUTPUT_DIRECTORY=$TARGET_PATH/checks -cd $TARGET_PATH/mpw_precheck/ - -docker run -v $PRECHECK_ROOT:$PRECHECK_ROOT -v $TARGET_PATH:$TARGET_PATH -v $PDK_ROOT:$PDK_ROOT -v $CARAVEL_ROOT:$CARAVEL_ROOT -u $(id -u $USER):$(id -g $USER) efabless/mpw_precheck:latest bash -c " cd $PRECHECK_ROOT ; python3 mpw_precheck.py license yaml manifest makefile consistency xor --pdk_root $PDK_ROOT --input_directory $TARGET_PATH --caravel_root $CARAVEL_ROOT --output_directory $OUTPUT_DIRECTORY" -output=$OUTPUT_DIRECTORY/logs/precheck.log - -gzipped_file=$OUTPUT_DIRECTORY/logs/precheck.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/run_precheck.sh b/.github/scripts/run_precheck.sh new file mode 100644 index 0000000..dee2f67 --- /dev/null +++ b/.github/scripts/run_precheck.sh
@@ -0,0 +1,30 @@ +#!/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 INPUT_DIRECTORY=$(pwd) +export PRECHECK_ROOT=$INPUT_DIRECTORY/mpw_precheck +export OUTPUT_DIRECTORY=$INPUT_DIRECTORY/mpw_precheck_result +export OUTPUT=$OUTPUT_DIRECTORY/logs/precheck.log +cd .. +export PDK_ROOT=$(pwd)/pdks +cd "$PRECHECK_ROOT" || exit + +docker run -v "$PRECHECK_ROOT":"$PRECHECK_ROOT" -v "$INPUT_DIRECTORY":"$INPUT_DIRECTORY" -v "$PDK_ROOT":"$PDK_ROOT" -e INPUT_DIRECTORY="$INPUT_DIRECTORY" -e PDK_ROOT="$PDK_ROOT" -u $(id -u "$USER"):$(id -g "$USER") efabless/mpw_precheck:latest bash -c "cd $PRECHECK_ROOT; python3 mpw_precheck.py --input_directory $INPUT_DIRECTORY --pdk_root $PDK_ROOT --output_directory $OUTPUT_DIRECTORY license makefile consistency xor magic_drc klayout_beol klayout_feol klayout_met_min_ca_density klayout_offgrid klayout_pin_label_purposes_overlapping_drawing klayout_zeroarea" + +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/workflows/caravan_build.yml b/.github/workflows/caravan_build.yml index 20588b6..9ba9f16 100644 --- a/.github/workflows/caravan_build.yml +++ b/.github/workflows/caravan_build.yml
@@ -1,73 +1,75 @@ -name: Caravan Build +# name: Caravan Build +# on: +# # Runs on Every Push +# push: +# # Runs on Pull Requests +# pull_request: +# workflow_dispatch: -on: - # Runs on Every Push - push: - # Runs on Pull Requests - pull_request: - workflow_dispatch: +# jobs: +# make_truck: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v2 -jobs: - make_truck: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 +# - 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/dv/pdkBuild.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v1 - - name: Run make truck - run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-truck.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 - - set_user_id: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 +# - name: Install Magic +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Install The PDK - run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 +# - name: Build PDK +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh - - name: Run Set User ID - run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 +# - name: Run make truck +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-truck.sh +# env: +# OPENLANE_TAG: 2021.09.16_03.28.21 - xor_wrapper: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 +# set_user_id: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v2 - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Install The PDK - run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 +# - name: Set up QEMU +# uses: docker/setup-qemu-action@v1 - - name: Run XOR Check - run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v1 + +# - name: Install Magic +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh + +# - name: Build PDK +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh + +# - name: Run Set User ID +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-set-id.sh +# env: +# OPENLANE_TAG: 2021.09.16_03.28.21 + +# xor_wrapper: +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v2 + +# - name: Set up QEMU +# uses: docker/setup-qemu-action@v1 + +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v1 + +# - name: Install Magic +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh + +# - name: Build PDK +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh + +# - name: Run XOR Check +# run: bash ${GITHUB_WORKSPACE}/.github/scripts/build/run-xor.sh +# env: +# OPENLANE_TAG: 2021.09.16_03.28.21
diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml index 49b8d92..330d845 100644 --- a/.github/workflows/user_project_ci.yml +++ b/.github/workflows/user_project_ci.yml
@@ -1,12 +1,11 @@ name: CI - on: - # Runs on Every Push - push: - # Runs on Pull Requests - pull_request: - workflow_dispatch: + # Runs on Every Push + push: + # Runs on Pull Requests + pull_request: + workflow_dispatch: jobs: precheck: @@ -21,72 +20,62 @@ - 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: Install Magic + run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh - - name: Run The Precheck - run: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck.sh - - precheck-drc: - timeout-minutes: 720 - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + - name: Build PDK + run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh - name: Install The Precheck - run: sh ${GITHUB_WORKSPACE}/.github/scripts/precheck/precheckBuild.sh + run: git clone --depth=1 https://github.com/efabless/mpw_precheck.git ${GITHUB_WORKSPACE}/mpw_precheck - name: Run The Precheck - run: bash ${GITHUB_WORKSPACE}/.github/scripts/precheck/run-precheck-drc.sh - - dv_rtl: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + run: bash ${GITHUB_WORKSPACE}/.github/scripts/run_precheck.sh - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 - - - name: Install The PDK - run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/pdkBuild.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 - - - name: Install The Dockerized DV Setup - run: docker pull efabless/dv_setup:latest - - - name: Run DV tests - # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> - run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0 RTL + # dv_rtl: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 - dv_gl: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + # - 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/dv/pdkBuild.sh - env: - OPENLANE_TAG: 2021.09.16_03.28.21 - - - name: Install The Dockerized DV Setup - run: docker pull efabless/dv_setup:latest - - - name: Run DV tests - # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> - run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0 GL + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v1 + + # - name: Install Magic + # run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh + + # - name: Build PDK + # run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh + + # - name: Install The Dockerized DV Setup + # run: docker pull efabless/dv_setup:latest + + # - name: Run DV tests + # # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> + # run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0 RTL + + # dv_gl: + # runs-on: ubuntu-latest + # steps: + # - uses: actions/checkout@v2 + + # - name: Set up QEMU + # uses: docker/setup-qemu-action@v1 + + # - name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v1 + + # - name: Install Magic + # run: bash ${GITHUB_WORKSPACE}/.github/scripts/install_magic.sh + + # - name: Build PDK + # run: bash ${GITHUB_WORKSPACE}/.github/scripts/build_pdk.sh + + # - name: Install The Dockerized DV Setup + # run: docker pull efabless/dv_setup:latest + + # - name: Run DV tests + # # Run test number 0,1,2,3,4 in one job <test-ids> <sim-mode> + # run: bash ${GITHUB_WORKSPACE}/.github/scripts/dv/run-dv-wrapper.sh 0 GL
diff --git a/Makefile b/Makefile index c448f84..4e877be 100644 --- a/Makefile +++ b/Makefile
@@ -100,15 +100,15 @@ # Default installs to the user home directory, override by "export PRECHECK_ROOT=<precheck-installation-path>" .PHONY: precheck precheck: - @git clone --depth=1 --branch mpw-5 https://github.com/efabless/mpw_precheck.git $(PRECHECK_ROOT) + @git clone --depth=1 --branch mpw-5a https://github.com/efabless/mpw_precheck.git $(PRECHECK_ROOT) @docker pull efabless/mpw_precheck:latest .PHONY: run-precheck -run-precheck: check-precheck check-pdk check-caravel +run-precheck: check-pdk check-precheck $(eval INPUT_DIRECTORY := $(shell pwd)) cd $(PRECHECK_ROOT) && \ - docker run -e INPUT_DIRECTORY=$(INPUT_DIRECTORY) -e PDK_ROOT=$(PDK_ROOT) -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) -v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) -v $(PDK_ROOT):$(PDK_ROOT) \ - -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --pdk_root $(PDK_ROOT) --input_directory $(INPUT_DIRECTORY)" + docker run -v $(PRECHECK_ROOT):$(PRECHECK_ROOT) -v $(INPUT_DIRECTORY):$(INPUT_DIRECTORY) -v $(PDK_ROOT):$(PDK_ROOT) -e INPUT_DIRECTORY=$(INPUT_DIRECTORY) -e PDK_ROOT=$(PDK_ROOT) \ + -u $(shell id -u $(USER)):$(shell id -g $(USER)) efabless/mpw_precheck:latest bash -c "cd $(PRECHECK_ROOT) ; python3 mpw_precheck.py --input_directory $(INPUT_DIRECTORY) --pdk_root $(PDK_ROOT)" # Clean .PHONY: clean