Skip to content

Add cockpitrc and default croc.flist #15

Add cockpitrc and default croc.flist

Add cockpitrc and default croc.flist #15

Workflow file for this run

# Copyright (c) 2025 ETH Zurich and University of Bologna.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# Author: Philippe Sauter <phsauter@iis.ee.ethz.ch>
# Author: Thomas Benz <tbenz@iis.ee.ethz.ch>
name: Full-flow
on:
workflow_dispatch:
pull_request:
branches:
- main
release:
types:
- created
jobs:
backend:
runs-on: ubuntu-latest
timeout-minutes: 180
steps:
- name: Checkout repository (with submodules)
uses: actions/checkout@v4
with:
submodules: true
- name: Run Yosys, OpenROAD and KLayout
uses: ./.github/actions/oseda-cmd
with:
cmd: "make yosys && make openroad && make klayout"
- name: Upload openroad output
uses: actions/upload-artifact@v4
with:
name: croc-openroad
path: openroad/out
continue-on-error: true
- name: Upload openroad reports
uses: actions/upload-artifact@v4
with:
name: croc-openroad
path: openroad/reports
continue-on-error: true
- name: Upload gds
uses: actions/upload-artifact@v4
with:
name: croc-gds
path: klayout/croc_chip.gds
continue-on-error: true
# Render below (have all in one task to keep the oseda container cached)
- name: Checkout ArtistIC repository
uses: actions/checkout@v4
with:
repository: pulp-platform/artistic
path: artistic
- name: Update package lists and install Inkscape, img2pdf
run: |
sudo apt-get update
sudo apt-get install -y inkscape img2pdf
- name: Customize input logo
run : |
sed "s/#DATE#/$(date '+%Y-%m-%d')/g" doc/artwork/logo_chip.svg > doc/artwork/logo.svg
sed -i "s/#HASH#/$(git rev-parse --short HEAD)/g" doc/artwork/logo.svg
sed -i "s|#REPO#|gh.io/$GITHUB_REPOSITORY|g" doc/artwork/logo.svg
inkscape doc/artwork/logo.svg -w 660 -h 660 -o doc/artwork/logo.png
- name: Upload logo
uses: actions/upload-artifact@v4
with:
name: png-logo
path: doc/artwork/logo.png
continue-on-error: true
- name: Install ImageMagick
run: |
sudo apt-get install -y imagemagick
- name: Install packages in OSEDA
uses: ./.github/actions/oseda-cmd
with:
cmd: "pip install gdspy"
- name: Meercat setup, export top-level GDS
uses: ./.github/actions/oseda-cmd
with:
cmd: "ls -lah klayout; cd artistic; mkdir -p meerkat_work; python3 scripts/meerkat_interface.py -i ../../klayout/croc_chip.gds -m croc_tm.gds.gz -g croc_logo.gds -o croc_chip.gds.gz -w meerkat_work -l 134; cd meerkat_work; klayout -zz -rm ../scripts/export_top_metal.py; gzip -d croc_tm.gds.gz"
- name: Upload top-level GDS
uses: actions/upload-artifact@v4
with:
name: top-level-gds
path: artistic/meerkat_work/croc_tm.gds
continue-on-error: true
- name: Translate the logo to mono
run: |
convert doc/artwork/logo.png -remap pattern:gray50 artistic/meerkat_work/logo_mono.png
- name: Upload mono logo
uses: actions/upload-artifact@v4
with:
name: mono-logo
path: artistic/meerkat_work/logo_mono.png
continue-on-error: true
- name: Generate logo GDS
uses: ./.github/actions/oseda-cmd
with:
cmd: "cd artistic; python3 scripts/meerkat.py -m '112,112,178,178' -i meerkat_work/logo_mono.png -g meerkat_work/croc_tm.gds -l 134 -n croc -s meerkat_work/croc_logo.svg -o meerkat_work/croc_logo.gds"
- name: Upload logo GDS
uses: actions/upload-artifact@v4
with:
name: logo-gds
path: artistic/meerkat_work/croc_logo.gds
continue-on-error: true
- name: Upload logo SVG
uses: actions/upload-artifact@v4
with:
name: logo-svg
path: artistic/meerkat_work/croc_logo.svg
continue-on-error: true
- name: Merge logo GDS with chip GDS
uses: ./.github/actions/oseda-cmd
with:
cmd: "cd artistic; cd meerkat_work; klayout -zz -rm ../scripts/merge_logo.py"
- name: Upload chip GDS
uses: actions/upload-artifact@v4
with:
name: chip-gds
path: artistic/meerkat_work/croc_chip.gds.gz
continue-on-error: true
- name: Prepare render
run: |
mkdir -p artistic/renderics
cp -v .github/config/croc_ci.json artistic/renderics/croc_ci.json
sed "s|/fosic/designs|/home/runner/work/croc|g" artistic/renderics/croc_ci.json > artistic/renderics/croc_ci_runner.json
- name: Analyze render
uses: ./.github/actions/oseda-cmd
with:
cmd: "cd artistic; make analyze CFG_FILE=/fosic/designs/croc/artistic/renderics/croc_ci.json > renderics/analyze.txt"
- name: Upload render summary
uses: actions/upload-artifact@v4
with:
name: render-summary
path: artistic/renderics/analyze.txt
continue-on-error: true
- name: Upload color preview
uses: actions/upload-artifact@v4
with:
name: render-color-preview
path: artistic/renderics/colors_croc.svg
continue-on-error: true
- name: Render b/w layer tiles
uses: ./.github/actions/oseda-cmd
with:
cmd: "cd artistic; make gen_raw CFG_FILE=/fosic/designs/croc/artistic/renderics/croc_ci.json"
- name: Render
run: |
cd artistic; make gen_pdfs CFG_FILE=renderics/croc_ci_runner.json
- name: Finish render
run: |
mv artistic/renderics//DPI__croc_0-0.png artistic/renderics/croc_render.png
mv artistic/renderics//PDF__croc_0-0.pdf artistic/renderics/croc_render.pdf
convert artistic/renderics/croc_render.png artistic/renderics/croc_render.jpg
- name: Upload render PNG
uses: actions/upload-artifact@v4
with:
name: render-png
path: artistic/renderics/croc_render.png
continue-on-error: true
- name: Upload render PDF
uses: actions/upload-artifact@v4
with:
name: render-pdf
path: artistic/renderics/croc_render.pdf
continue-on-error: true
- name: Upload render JPG
uses: actions/upload-artifact@v4
with:
name: render-jpg
path: artistic/renderics/croc_render.jpg
continue-on-error: true