blob: 68ae4158c3cbb83812aa8d55e2c62b8edafca314 [file] [log] [blame]
name: gds
# either manually started, or on a schedule
on: [ push, workflow_dispatch, pull_request ]
jobs:
tinytapeout:
env:
OPENLANE_ROOT: /home/runner/openlane
PDK_ROOT: /home/runner/pdk
PDK: sky130B
GH_TOKEN: ${{ secrets.GH_TOKEN }}
GH_USERNAME: ${{ secrets.GH_USERNAME }}
# ubuntu
runs-on: ubuntu-latest
steps:
# need the repo checked out
- name: checkout repo
uses: actions/checkout@v3
# build pdk - have to move this back above to get caravel makefile
- name: pdk & openlane & precheck
run: |
make setup
make precheck
# uncompress any gds commited to the repo
- name: uncompress gds
run: |
make uncompress
# need python
- name: setup python
uses: actions/setup-python@v4
with:
python-version: '3.10'
cache: 'pip'
- run: pip install -r requirements.txt
# install oss fpga tools for yosys to sanity check module ports
- name: install oss-cad-suite
uses: YosysHQ/setup-oss-cad-suite@v1
with:
osscadsuite-version: '2022-09-03' # pin the version, latest one fails to work with caravel
# fetch the repos
- name: fetch all
run: python ./configure.py --clone-all --fetch-gds --debug
# pwd debug
- name: show projects
run: find projects
# install projects
- name: configure
run: python ./configure.py --update-caravel
- name: user project wrapper GDS
run: make user_project_wrapper
# remove projects so that the precheck doesn't fail on 'non-inclusive words'
- name: remove projects
run: rm -rf projects
- name: precheck
run: make run-precheck
# archive the results
- name: Archive Wrapper GDS
uses: actions/upload-artifact@v3
with:
name: Wrapper GDS
path: |
# symlinked user_project_wrapper directory doesn't work
openlane/user_project_wrapper/runs/*_*/