Skip to content

Add Basilisk design

Add Basilisk design #2

Workflow file for this run

#==========================================================================
# Copyright 2024 IHP PDK Authors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# https://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# SPDX-License-Identifier: Apache-2.0
#==========================================================================
name: DRC
on:
pull_request:
types: [opened, reopened]
jobs:
drc:
runs-on: ubuntu-latest
steps:
- name: Get all files
uses: actions/checkout@master
- name: Check all files
id: changed-files
uses: tj-actions/changed-files@v44
- name: Installing Klayout
run: |
sudo apt update -qq -y
# The dpkg command will fail complaining about missing dependencies.
sudo dpkg -i ./drc/klayout_0.29.6-1_amd64.deb || true
# The apt install command should install the missing dependencies
# needed by KLayout above and finish the install.
sudo apt install -f -y
# Check that KLayout was successfully installed!
klayout -v
- name: drc
run: |
klayout -v;
mkdir ${{ github.workspace }}/drc/Results
result=true;
for file in ${{ steps.changed-files.outputs.all_changed_files }}; do
FileRe="FMD_QNC.*\.gds"
if [[ $file =~ $FileRe ]]; then
echo "Run DRC for $file";
path=${{ github.workspace }}/${file};
resultpath=${{ github.workspace }}/drc/Results/${file//[\/.]/_}.lyrdb;
OUTPUT=$(klayout -b -r ${{ github.workspace }}/drc/drc.lydrc -rd "in_gds"="${path}" -rd "report_file"="${resultpath}")
re="Number of DRC errors: [0-9]+"
if [[ $OUTPUT =~ $re ]]; then
echo ${BASH_REMATCH};
NumberRe="[0-9]+"
if [[ $BASH_REMATCH =~ $NumberRe ]]; then
if (($BASH_REMATCH == 0))
then
echo "DRC pass";
else
echo "DRC fail";
result=false;
fi
else
echo "DRC fail";
result=false;
fi
else
echo "DRC fail";
result=false;
fi
fi
done
if [[ $result == false ]]
then
exit 130
fi
- name: Archive DRC Results
uses: actions/upload-artifact@v4
if: always()
with:
name: DRC-Results
path: ${{ github.workspace }}/drc/Results