Files
tt-support-tools/.github/workflows/test-harden.yaml
T
Uri Shaked 2278ea867e feat: add ihp-sg13cmos5l PDK alongside ihp-sg13g2
Based on work done in the ihp-sg13cmos5l branch
2026-10-27 11:17:19 +01:00

94 lines
2.9 KiB
YAML

name: GDS Hardening Tests
on:
push:
pull_request:
workflow_dispatch:
jobs:
harden:
strategy:
fail-fast: false
matrix:
pdk: [sky130A, ihp-sg13g2, ihp-sg13cmos5l, gf180mcuD]
runs-on: ubuntu-24.04
env:
PDK: ${{ matrix.pdk }}
PDK_ROOT: /home/runner/pdk
PROJECT_DIR: /home/runner/project
LIBRELANE_VERSION: '3.1.0.dev4'
TT_TOOL_ARGS: --pdk ${{ matrix.pdk }}
steps:
- name: Check out code
uses: actions/checkout@v4
- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: '3.11'
cache: 'pip'
- name: Install dependencies
run: pip install -r requirements.txt
- name: Install librelane
run: pip install librelane==${LIBRELANE_VERSION}
- name: Clone the factory test
if: "${{ matrix.pdk != 'ihp-sg13g2' && matrix.pdk != 'ihp-sg13cmos5l' }}"
run: git clone https://github.com/tinytapeout/ttsky25a-factory-test ${PROJECT_DIR}
- name: Clone the factory test (ihp-sg13g2)
if: "${{ matrix.pdk == 'ihp-sg13g2' }}"
run: git clone https://github.com/TinyTapeout/ttihp25b-factory-test ${PROJECT_DIR}
- name: Clone the factory test (ihp-sg13cmos5l)
if: "${{ matrix.pdk == 'ihp-sg13cmos5l' }}"
run: git clone https://github.com/TinyTapeout/ttihp0p4-factory-test ${PROJECT_DIR}
- name: Copy tt-support-tools to the project directory
run: cp -r . ${PROJECT_DIR}/tt
- name: Create user config
working-directory: ${{ env.PROJECT_DIR }}
run: python ./tt/tt_tool.py $TT_TOOL_ARGS --create-user-config
- name: Harden
working-directory: ${{ env.PROJECT_DIR }}
run: python ./tt/tt_tool.py $TT_TOOL_ARGS --harden
- name: Create TT submission
working-directory: ${{ env.PROJECT_DIR }}
run: python ./tt/tt_tool.py $TT_TOOL_ARGS --create-tt-submission
- name: Print stats
working-directory: ${{ env.PROJECT_DIR }}
run: |
set -e
python ./tt/tt_tool.py $TT_TOOL_ARGS --print-stats --print-warnings --print-cell-summary --print-cell-category | tee $GITHUB_STEP_SUMMARY
- name: Create SVG render
working-directory: ${{ env.PROJECT_DIR }}
run: python ./tt/tt_tool.py $TT_TOOL_ARGS --create-svg
- name: Upload GDS logs
uses: actions/upload-artifact@v4
with:
name: gds-${{ matrix.pdk }}
path: ${{ env.PROJECT_DIR }}/runs/wokwi
- name: Upload TT submission
uses: actions/upload-artifact@v4
with:
name: tt-submission-${{ matrix.pdk }}
path: ${{ env.PROJECT_DIR }}/tt_submission
- name: Upload SVG render
uses: actions/upload-artifact@v4
with:
name: svg-render-${{ matrix.pdk }}
path: ${{ env.PROJECT_DIR }}/gds_render.svg