From 79c6a85ccab5b0a6539f213e24a38ab7b437db48 Mon Sep 17 00:00:00 2001 From: Patarimi <38954040+Patarimi@users.noreply.github.com> Date: Fri, 12 May 2023 11:00:28 +0200 Subject: [PATCH] Update user_project_ci.yml Re-factorization using GitHub matrix. --- .github/workflows/user_project_ci.yml | 107 +++----------------------- 1 file changed, 9 insertions(+), 98 deletions(-) diff --git a/.github/workflows/user_project_ci.yml b/.github/workflows/user_project_ci.yml index c85dedb03..7c4f6e4d9 100644 --- a/.github/workflows/user_project_ci.yml +++ b/.github/workflows/user_project_ci.yml @@ -43,9 +43,12 @@ jobs: name: pdk-tarball path: /tmp/pdk.tar - user_project_flow_sky130A: + user_project_flow: timeout-minutes: 720 runs-on: ubuntu-latest + strategy: + matrix: + pdk: ["sky130A", "sky130B"] needs: [pdk] steps: - uses: actions/checkout@v2 @@ -56,14 +59,11 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v1 - - name: Export PDK ROOT - run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV - - - name: Export PDK PATH - run: echo "PDKPATH=/home/runner/work/pdk/sky130A" >> $GITHUB_ENV - - - name: Export PDK - run: echo "PDK=sky130A" >> $GITHUB_ENV + - name: Export PDK VARIABLES + run: | + echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV + echo "PDK=${{ matrix.pdk }}" >> $GITHUB_ENV + echo "PDKPATH=/home/runner/work/pdk/${{ matrix.pdk }}" >> $GITHUB_ENV - name: Export OPENLANE ROOT run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV @@ -132,92 +132,3 @@ jobs: # make verify-la_test2-gl # make verify-mprj_stimulus-gl # make verify-wb_port-gl - - user_project_flow_sky130B: - timeout-minutes: 720 - runs-on: ubuntu-latest - needs: [pdk] - 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: Export PDK ROOT - run: echo "PDK_ROOT=/home/runner/work/pdk" >> $GITHUB_ENV - - - name: Export PDK PATH - run: echo "PDKPATH=/home/runner/work/pdk/sky130B" >> $GITHUB_ENV - - - name: Export PDK - run: echo "PDK=sky130B" >> $GITHUB_ENV - - - name: Export OPENLANE ROOT - run: echo "OPENLANE_ROOT=/home/runner/work/caravel_user_project/openlane" >> $GITHUB_ENV - - - name: Download PDK Tarball - uses: actions/download-artifact@v2 - with: - name: pdk-tarball - path: /tmp - - - name: Unpack PDK Tarball - run: | - sudo mkdir -p ${{ env.PDK_ROOT }} - sudo chown -R $USER:$USER ${{ env.PDK_ROOT }} - tar -xf /tmp/pdk.tar -C $PDK_ROOT . - - - name: Install dependencies - run: | - make install - make install_mcw - make openlane - make simenv - - - name: Harden using Openlane - run: | - make user_proj_example - make user_project_wrapper - - - name: run precheck - run: | - 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 - - git clone --depth=1 -b mpw-7d https://github.com/efabless/mpw_precheck.git - - docker run -v "$PRECHECK_ROOT":"$PRECHECK_ROOT" -v "$INPUT_DIRECTORY":"$INPUT_DIRECTORY" -v "${{ env.PDK_ROOT }}":"${{ env.PDK_ROOT }}" -e INPUT_DIRECTORY="$INPUT_DIRECTORY" -e PDK_ROOT="${{ env.PDK_ROOT }}" -e PDKPATH="${{ env.PDKPATH }}" -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_path ${{ env.PDKPATH }} --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 - - - name: upload failure logs - if: failure() - uses: actions/upload-artifact@v2 - with: - name: error - path: | - /home/runner/work/caravel_user_project/caravel_user_project/mpw_precheck_result/logs/* - - - name: Run DV RTL tests - run: | - make verify-io_ports-rtl - make verify-la_test1-rtl - make verify-la_test2-rtl - make verify-mprj_stimulus-rtl - make verify-wb_port-rtl - - # - name: Run DV GL tests - # run: | - # make verify-io_ports-gl - # make verify-la_test1-gl - # make verify-la_test2-gl - # make verify-mprj_stimulus-gl - # make verify-wb_port-gl \ No newline at end of file