Skip to content

Rename PinSignature to IOSignature #346

Rename PinSignature to IOSignature

Rename PinSignature to IOSignature #346

Workflow file for this run

on:
push:
branches:
- main
pull_request:
merge_group:
schedule:
- cron: '0 0 * * *' # Every day at midnight UTC
name: CI
jobs:
test:
runs-on: ubuntu-latest
steps:
- name: Check out source code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Set up PDM
uses: pdm-project/setup-pdm@v4
- name: Generate overrides to use current branch if PR
if: github.event_name == 'pull_request'
run: |
pdm run tools/gen_overrides.py ${{github.head_ref}} > overrides.txt
echo "Generated overrides:"
cat overrides.txt
- name: Relock PDM
if: github.event_name != 'pull_request'
run: pdm lock -d
- name: Relock PDM (PR)
if: github.event_name == 'pull_request'
run: pdm lock -d --override overrides.txt
- name: Install dependencies
run: |
pdm install
- name: Run tests
run: |
pdm run test
- name: Run lints
run: |
pdm run lint
- name: Run doc tests
run: pdm run test-docs
license:
runs-on: ubuntu-latest
steps:
- name: Check out source code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Check source code licenses
run: |
docker run --platform=linux/amd64 -v ${PWD}:/src ghcr.io/google/addlicense -v -check -l BSD-2-Clause -c "ChipFlow" -s=only -ignore **/__init__.py **/*.py
test-submit:
runs-on: ubuntu-latest
steps:
- name: Check out source code
uses: actions/checkout@v4
with:
fetch-depth: 0
path: chipflow-lib
- name: Check out chipflow-examples
uses: actions/checkout@v4
with:
repository: ChipFlow/chipflow-examples
fetch-depth: 0
path: chipflow-examples
- name: Set up PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.10"
cache: true
cache-dependency-path: "./**/pyproject.toml"
- name: Install dependencies
working-directory: ./chipflow-examples
run: |
pdm install
pdm run python -m ensurepip
pdm run python -m pip install -e ../chipflow-lib
- name: Run tests
working-directory: ./chipflow-examples
run: |
pdm test
pdm run chipflow pin lock
pdm run chipflow silicon submit --wait
env:
CHIPFLOW_API_KEY: ${{ secrets.CHIPFLOW_API_KEY}}
test-submit-dry:
runs-on: ubuntu-latest
steps:
- name: Check out source code
uses: actions/checkout@v4
with:
fetch-depth: 0
path: chipflow-lib
- name: Check out chipflow-examples
uses: actions/checkout@v4
with:
repository: ChipFlow/chipflow-examples
fetch-depth: 0
path: chipflow-examples
- name: Set up PDM
uses: pdm-project/setup-pdm@v4
with:
python-version: "3.10"
cache: true
cache-dependency-path: "./**/pyproject.toml"
- name: Install dependencies
working-directory: ./chipflow-examples
run: |
pdm install
pdm run python -m ensurepip
pdm run python -m pip install -e ../chipflow-lib
- name: Run tests
working-directory: ./chipflow-examples
run: |
pdm test
pdm run chipflow pin lock
pdm run chipflow silicon submit --dry-run