Skip to content

testing CI

testing CI #1224

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
- 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_mcw:
runs-on: ubuntu-latest
strategy:
matrix:
targets: ["install_mcw", "openlane", "pdk-with-volare", "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
dep_name = "mgmt_core_wrapper"
dep_root = ${{ env.MCW_ROOT }}
elif [[ "${{ matrix.targets }}" == "openlane" ]]; then
dep_name = "openlane"
dep_root = ${{ env.OPENLANE_ROOT }}
elif [[ "${{ matrix.targets }}" == "pdk-with-volare" ]]; then
dep_name = "pdk"
dep_root = ${{ env.PDK_ROOT }}
elif [[ "${{ matrix.targets }}" == "setup-timing-scripts" ]]; then
dep_name = "timing-scripts"
dep_root = ${{ env.TIMING_ROOT }}
elif [[ "${{ matrix.targets }}" == "precheck" ]]; then
dep_name = "precheck"
dep_root = ${{ env.PRECHECK_ROOT }}
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 }}
- name: Tarball Dependencies
run: |
tar -cf /tmp/$dep_name.tar -C $dep_root .
- name: Upload Dependencies Tarball
uses: actions/upload-artifact@v2
with:
name: $dep_name-tarball
path: /tmp/$dep_name.tar
# hardening:
# timeout-minutes: 720
# runs-on: ubuntu-latest
# strategy:
# matrix:
# pdk: ["sky130A", "sky130B"]
# needs: [setup_env]
# 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