Skip to content

testing CI

testing CI #1259

Workflow file for this run

name: CI
on:
# Runs on Every Push
push:
# Runs on Pull Requests
pull_request:
workflow_dispatch:
jobs:
download_caravel:
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: Setup Environment Variables
run: |
echo "PDK_ROOT=$GITHUB_WORKSPACE/pdk" >> $GITHUB_ENV
echo "OPENLANE_ROOT=$GITHUB_WORKSPACE/openlane_src" >> $GITHUB_ENV
echo "CARAVEL_ROOT=$GITHUB_WORKSPACE/caravel" >> $GITHUB_ENV
echo "MCW_ROOT=$GITHUB_WORKSPACE/mgmt_core_wrapper" >> $GITHUB_ENV
echo "TIMING_ROOT=$GITHUB_WORKSPACE/timing-scripts" >> $GITHUB_ENV
echo "PRECHECK_ROOT=$GITHUB_WORKSPACE/mpw_precheck" >> $GITHUB_ENV
- name: Install dependencies
run: |
sudo mkdir -p ${{ env.PDK_ROOT }}
sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
make install
cd ${{ env.CARAVEL_ROOT }}
rm -rf gds mag maglef def lef openlane scripts signoff spi LICENSE manifest .git
- name: Tarball Caravel
run: |
tar -cf /tmp/caravel.tar -C $CARAVEL_ROOT .
- name: Upload Caravel Tarball
uses: actions/upload-artifact@v2
with:
name: caravel-tarball
path: /tmp/caravel.tar
download_deps:
runs-on: ubuntu-latest
strategy:
matrix:
targets: ["pdk-with-volare", "install_mcw", "openlane", "setup-timing-scripts", "precheck"]
needs: [download_caravel]
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: Setup Environment Variables
run: |
echo "PDK_ROOT=$GITHUB_WORKSPACE/pdk" >> $GITHUB_ENV
echo "OPENLANE_ROOT=$GITHUB_WORKSPACE/openlane_src" >> $GITHUB_ENV
echo "CARAVEL_ROOT=$GITHUB_WORKSPACE/caravel" >> $GITHUB_ENV
echo "MCW_ROOT=$GITHUB_WORKSPACE/mgmt_core_wrapper" >> $GITHUB_ENV
echo "TIMING_ROOT=$GITHUB_WORKSPACE/timing-scripts" >> $GITHUB_ENV
echo "PRECHECK_ROOT=$GITHUB_WORKSPACE/mpw_precheck" >> $GITHUB_ENV
- name: Get dependencies name
run: |
if [[ "${{ matrix.targets }}" == "install_mcw" ]]; then
echo "dep_name=mgmt_core_wrapper" >> $GITHUB_ENV
echo "dep_root=${{ env.MCW_ROOT }}" >> $GITHUB_ENV
elif [[ "${{ matrix.targets }}" == "openlane" ]]; then
echo "dep_name=openlane" >> $GITHUB_ENV
echo "dep_root=${{ env.OPENLANE_ROOT }}" >> $GITHUB_ENV
elif [[ "${{ matrix.targets }}" == "pdk-with-volare" ]]; then
echo "dep_name=pdk" >> $GITHUB_ENV
echo "dep_root=${{ env.PDK_ROOT }}" >> $GITHUB_ENV
elif [[ "${{ matrix.targets }}" == "setup-timing-scripts" ]]; then
echo "dep_name=timing-scripts" >> $GITHUB_ENV
echo "dep_root=${{ env.TIMING_ROOT }}" >> $GITHUB_ENV
elif [[ "${{ matrix.targets }}" == "precheck" ]]; then
echo "dep_name=precheck" >> $GITHUB_ENV
echo "dep_root=${{ env.PRECHECK_ROOT }}" >> $GITHUB_ENV
fi
- name: Download caravel Tarball
uses: actions/download-artifact@v2
with:
name: caravel-tarball
path: /tmp
- name: Unpack caravel Tarball
run: |
sudo mkdir -p ${{ env.CARAVEL_ROOT }}
sudo chown -R $USER:$USER ${{ env.CARAVEL_ROOT }}
tar -xf /tmp/caravel.tar -C $CARAVEL_ROOT .
- name: Install dependencies
run: |
sudo mkdir -p ${{ env.PDK_ROOT }}
sudo chown -R $USER:$USER ${{ env.PDK_ROOT }}
make ${{ matrix.targets }}
if [[ "${{ env.dep_name }}" == "mgmt_core_wrapper" ]]; then
cd ${{ env.dep_root }}
rm -rf gds mag maglef def lef openlane scripts signoff spi LICENSE manifest docs lib litex lvs .git
fi
- name: Tarball Dependencies
run: |
tar -cf /tmp/${{ env.dep_name }}.tar -C ${{ env.dep_root }} .
- name: Upload Dependencies Tarball
uses: actions/upload-artifact@v2
with:
name: ${{ env.dep_name }}-tarball
path: /tmp/${{ env.dep_name }}.tar
hardening:
timeout-minutes: 720
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["gf180mcuD"]
needs: [download_deps]
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 ENVIRONMENT VARIABLES
run: |
echo "PDK=${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDKPATH=$GITHUB_WORKSPACE/pdk/${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDK_ROOT=$GITHUB_WORKSPACE/pdk" >> $GITHUB_ENV
echo "OPENLANE_ROOT=$GITHUB_WORKSPACE/openlane_src" >> $GITHUB_ENV
echo "CARAVEL_ROOT=$GITHUB_WORKSPACE/caravel" >> $GITHUB_ENV
echo "MCW_ROOT=$GITHUB_WORKSPACE/mgmt_core_wrapper" >> $GITHUB_ENV
echo "TIMING_ROOT=$GITHUB_WORKSPACE/timing-scripts" >> $GITHUB_ENV
echo "PRECHECK_ROOT=$GITHUB_WORKSPACE/mpw_precheck" >> $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: Download openlane Tarball
uses: actions/download-artifact@v2
with:
name: openlane-tarball
path: /tmp
- name: Unpack openlane Tarball
run: |
sudo mkdir -p ${{ env.OPENLANE_ROOT }}
sudo chown -R $USER:$USER ${{ env.OPENLANE_ROOT }}
tar -xf /tmp/openlane.tar -C $OPENLANE_ROOT .
- name: Harden using Openlane
run: |
make user_proj_example
make user_project_wrapper
rm -rf openlane/user_proj_example/runs openlane/user_project_wrapper/runs pdk openlane_src caravel mgmt_core_wrapper timing-scripts mpw_precheck
- name: Tarball Design
run: |
tar -cf /tmp/design.tar -C $GITHUB_WORKSPACE .
- name: Upload Design Tarball
uses: actions/upload-artifact@v2
with:
name: design-tarball
path: /tmp/design.tar
precheck:
timeout-minutes: 720
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["gf180mcuD"]
needs: [download_deps, hardening]
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Export ENVIRONMENT VARIABLES
run: |
echo "PDK=${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDKPATH=$GITHUB_WORKSPACE/pdk/${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDK_ROOT=$GITHUB_WORKSPACE/pdk" >> $GITHUB_ENV
echo "OPENLANE_ROOT=$GITHUB_WORKSPACE/openlane_src" >> $GITHUB_ENV
echo "CARAVEL_ROOT=$GITHUB_WORKSPACE/caravel" >> $GITHUB_ENV
echo "MCW_ROOT=$GITHUB_WORKSPACE/mgmt_core_wrapper" >> $GITHUB_ENV
echo "TIMING_ROOT=$GITHUB_WORKSPACE/timing-scripts" >> $GITHUB_ENV
echo "PRECHECK_ROOT=$GITHUB_WORKSPACE/mpw_precheck" >> $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: Download precheck Tarball
uses: actions/download-artifact@v2
with:
name: precheck-tarball
path: /tmp
- name: Unpack precheck Tarball
run: |
sudo mkdir -p ${{ env.PRECHECK_ROOT }}
sudo chown -R $USER:$USER ${{ env.PRECHECK_ROOT }}
tar -xf /tmp/precheck.tar -C $PRECHECK_ROOT .
- name: Download Design Tarball
uses: actions/download-artifact@v2
with:
name: design-tarball
path: /tmp
- name: Unpack Design Tarball
run: |
sudo mkdir -p $GITHUB_WORKSPACE
sudo chown -R $USER:$USER $GITHUB_WORKSPACE
tar -xf /tmp/design.tar -C $GITHUB_WORKSPACE .
- name: Run Precheck
run: make run-precheck
precheck:

Check failure on line 255 in .github/workflows/user_project_ci.yml

View workflow run for this annotation

GitHub Actions / CI

Invalid workflow file

The workflow is not valid. .github/workflows/user_project_ci.yml (Line: 255, Col: 1): Unexpected value 'precheck'
timeout-minutes: 720
runs-on: ubuntu-latest
strategy:
matrix:
pdk: ["gf180mcuD"]
needs: [download_deps, hardening]
steps:
- name: Set up QEMU
uses: docker/setup-qemu-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Export ENVIRONMENT VARIABLES
run: |
echo "PDK=${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDKPATH=$GITHUB_WORKSPACE/pdk/${{ matrix.pdk }}" >> $GITHUB_ENV
echo "PDK_ROOT=$GITHUB_WORKSPACE/pdk" >> $GITHUB_ENV
echo "OPENLANE_ROOT=$GITHUB_WORKSPACE/openlane_src" >> $GITHUB_ENV
echo "CARAVEL_ROOT=$GITHUB_WORKSPACE/caravel" >> $GITHUB_ENV
echo "MCW_ROOT=$GITHUB_WORKSPACE/mgmt_core_wrapper" >> $GITHUB_ENV
echo "TIMING_ROOT=$GITHUB_WORKSPACE/timing-scripts" >> $GITHUB_ENV
echo "PRECHECK_ROOT=$GITHUB_WORKSPACE/mpw_precheck" >> $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: Download timing-scripts Tarball
uses: actions/download-artifact@v2
with:
name: timing-scripts-tarball
path: /tmp
- name: Unpack timing-scripts Tarball
run: |
sudo mkdir -p ${{ env.TIMING_ROOT }}
sudo chown -R $USER:$USER ${{ env.TIMING_ROOT }}
tar -xf /tmp/timing-scripts.tar -C $TIMING_ROOT .
- name: Download Design Tarball
uses: actions/download-artifact@v2
with:
name: design-tarball
path: /tmp
- name: Unpack Design Tarball
run: |
sudo mkdir -p $GITHUB_WORKSPACE
sudo chown -R $USER:$USER $GITHUB_WORKSPACE
tar -xf /tmp/design.tar -C $GITHUB_WORKSPACE .
- name: Download Caravel Tarball
uses: actions/download-artifact@v2
with:
name: caravel-tarball
path: /tmp
- name: Unpack Caravel Tarball
run: |
sudo mkdir -p ${{ env.CARAVEL_ROOT }}
sudo chown -R $USER:$USER ${{ env.CARAVEL_ROOT }}
tar -xf /tmp/caravel.tar -C ${{ env.CARAVEL_ROOT }} .
- name: Download mgmt_core_wrapper Tarball
uses: actions/download-artifact@v2
with:
name: mgmt_core_wrapper-tarball
path: /tmp
- name: Unpack mgmt_core_wrapper Tarball
run: |
sudo mkdir -p ${{ env.MCW_ROOT }}
sudo chown -R $USER:$USER ${{ env.MCW_ROOT }}
tar -xf /tmp/mgmt_core_wrapper.tar -C ${{ env.MCW_ROOT }} .
- name: Run STA
run: |
make caravel-extract-parasitics
make extract-parasitics
make create-spef-mapping
make caravel-sta