Merge pull request #18 from umarcor/umarcor/ci
ci: combine workflows and homogenize testing target names; limit concurrency
diff --git a/.github/workflows/Tests.yml b/.github/workflows/Tests.yml
new file mode 100644
index 0000000..1138d5d
--- /dev/null
+++ b/.github/workflows/Tests.yml
@@ -0,0 +1,83 @@
+# Copyright 2022 GlobalFoundries 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
+#
+# http://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.
+
+name: Regression testing
+
+# Prevent keeping resources busy when a branch/PR is updated
+# https://docs.github.com/en/actions/using-jobs/using-concurrency
+concurrency:
+ group: ${{ github.repository }}-${{ github.workflow }}-${{ github.ref }}
+ cancel-in-progress: true
+
+on:
+ push:
+ pull_request:
+ workflow_dispatch:
+
+jobs:
+
+
+ Test:
+ runs-on: ubuntu-latest
+ strategy:
+ fail-fast: false
+ matrix:
+ include:
+ - { type: DRC, pdk: drc, test: main }
+ - { type: DRC, pdk: drc, test: switch }
+ - { type: DRC, pdk: drc, test: gf180mcu_fd_io }
+ - { type: DRC, pdk: drc, test: gf180mcu_fd_ip_sram }
+ - { type: DRC, pdk: drc, test: gf180mcu_fd_sc_mcu7t5v0 }
+ - { type: DRC, pdk: drc, test: gf180mcu_fd_sc_mcu9t5v0 }
+ - { type: LVS, pdk: lvs, test: main }
+ - { type: LVS, pdk: lvs, test: switch }
+ - { type: LVS, pdk: lvs, test: gf180mcu_fd_sc_mcu7t5v0}
+ - { type: LVS, pdk: lvs, test: gf180mcu_fd_sc_mcu9t5v0 }
+
+ name: ${{ matrix.type }} | ${{ matrix.test }}
+
+ env:
+ PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
+ PDK: ${{ matrix.pdk }}
+
+ steps:
+
+ - uses: actions/checkout@v3
+
+ - uses: actions/setup-python@v3
+ with:
+ python-version: '3.9'
+ cache: 'pip'
+ cache-dependency-path: '**/requirements.test.txt'
+
+ - run: pip install -r ./rules/klayout/requirements.test.txt
+
+ - name: Installing Klayout 0.27.8
+ run: |
+ sudo apt update -qq -y
+ wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
+ sudo apt install -qq -y \
+ qt5-default \
+ qttools5-dev \
+ libqt5xmlpatterns5-dev \
+ qtmultimedia5-dev \
+ libqt5multimediawidgets5 \
+ libqt5svg5-dev
+ sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
+ sudo apt-get install -f -y
+
+ - name: Testing ${{ matrix.type }} for ${{ matrix.test }}
+ run: |
+ cd ./rules/klayout/${{ matrix.pdk }}/testing
+ make test-${{ matrix.type }}-${{ matrix.test }}
diff --git a/.github/workflows/drc_gf180mcu_fd_io_test.yml b/.github/workflows/drc_gf180mcu_fd_io_test.yml
deleted file mode 100644
index 39a905c..0000000
--- a/.github/workflows/drc_gf180mcu_fd_io_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_io
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "gf180mcu_fd_io_DRC_testing"
- gf180mcu_fd_io_DRC_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing DRC for gf180mcu_fd_io
- run: |
- cd ./rules/klayout/drc/testing
- make test-DRC-gf180mcu_fd_io
diff --git a/.github/workflows/drc_gf180mcu_fd_ip_sram_test.yml b/.github/workflows/drc_gf180mcu_fd_ip_sram_test.yml
deleted file mode 100644
index 4c80822..0000000
--- a/.github/workflows/drc_gf180mcu_fd_ip_sram_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_ip_sram
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "DRC_gf180mcu_fd_ip_sram_testing"
- DRC_gf180mcu_fd_ip_sram_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing DRC for gf180mcu_fd_ip_sram
- run: |
- cd ./rules/klayout/drc/testing
- make test-DRC-gf180mcu_fd_ip_sram
diff --git a/.github/workflows/drc_gf180mcu_fd_sc_mcu7t5v0_test.yml b/.github/workflows/drc_gf180mcu_fd_sc_mcu7t5v0_test.yml
deleted file mode 100644
index b97d413..0000000
--- a/.github/workflows/drc_gf180mcu_fd_sc_mcu7t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_sc_mcu7t5v0
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "DRC_gf180mcu_fd_sc_mcu7t5v0_testing"
- DRC_gf180mcu_fd_sc_mcu7t5v0_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing DRC for gf180mcu_fd_sc_mcu7t5v0
- run: |
- cd ./rules/klayout/drc/testing
- make test-DRC-gf180mcu_fd_sc_mcu7t5v0
diff --git a/.github/workflows/drc_gf180mcu_fd_sc_mcu9t5v0_test.yml b/.github/workflows/drc_gf180mcu_fd_sc_mcu9t5v0_test.yml
deleted file mode 100644
index 463e37a..0000000
--- a/.github/workflows/drc_gf180mcu_fd_sc_mcu9t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules against gf180mcu_fd_sc_mcu9t5v0
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "DRC_gf180mcu_fd_sc_mcu9t5v0_testing"
- DRC_gf180mcu_fd_sc_mcu9t5v0_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing DRC for gf180mcu_fd_sc_mcu9t5v0
- run: |
- cd ./rules/klayout/drc/testing
- make test-DRC-gf180mcu_fd_sc_mcu9t5v0
diff --git a/.github/workflows/drc_regression_test.yml b/.github/workflows/drc_regression_test.yml
deleted file mode 100644
index df1737e..0000000
--- a/.github/workflows/drc_regression_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: Regression testing the DRC rules
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "DRC_Regression_testing"
- DRC_Regression_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing DRC for Regression
- run: |
- cd ./rules/klayout/drc/testing
- make test-DRC_main -j$(nproc)
diff --git a/.github/workflows/drc_switch_checking_test.yml b/.github/workflows/drc_switch_checking_test.yml
deleted file mode 100644
index d4040ef..0000000
--- a/.github/workflows/drc_switch_checking_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing DRC rule deck of GF180MCU
-name: DRC Switch Checking (Rule deck arguments) test
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: drc
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "DRC_Switch_Checking_testing"
- DRC_Switch_Checking_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing DRC for Switch Checking
- run: |
- cd ./rules/klayout/drc/testing
- make test-DRC_switch -j$(nproc)
diff --git a/.github/workflows/lvs_gf180mcu_fd_sc_mcu7t5v0_test.yml b/.github/workflows/lvs_gf180mcu_fd_sc_mcu7t5v0_test.yml
deleted file mode 100644
index 2e3eed0..0000000
--- a/.github/workflows/lvs_gf180mcu_fd_sc_mcu7t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: Standard Cells gf180mcu_fd_sc_mcu7t5v0 LVS testing
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "LVS_gf180mcu_fd_sc_mcu7t5v0_testing"
- LVS_gf180mcu_fd_sc_mcu7t5v0_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing LVS for Standard Cells gf180mcu_fd_sc_mcu7t5v0
- run: |
- cd ./rules/klayout/lvs/testing
- make test-LVS-gf180mcu_fd_sc_mcu7t5v0 -j$(nproc)
diff --git a/.github/workflows/lvs_gf180mcu_fd_sc_mcu9t5v0_test.yml b/.github/workflows/lvs_gf180mcu_fd_sc_mcu9t5v0_test.yml
deleted file mode 100644
index 0a1866e..0000000
--- a/.github/workflows/lvs_gf180mcu_fd_sc_mcu9t5v0_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: Standard Cells gf180mcu_fd_sc_mcu9t5v0 LVS testing
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "LVS_gf180mcu_fd_sc_mcu9t5v0_testing"
- LVS_gf180mcu_fd_sc_mcu9t5v0_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing LVS for Standard Cells gf180mcu_fd_sc_mcu9t5v0
- run: |
- cd ./rules/klayout/lvs/testing
- make test-LVS-gf180mcu_fd_sc_mcu9t5v0 -j$(nproc)
diff --git a/.github/workflows/lvs_regression.yml b/.github/workflows/lvs_regression.yml
deleted file mode 100644
index e8507ef..0000000
--- a/.github/workflows/lvs_regression.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: LVS Regression test
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "LVS_Regression_testing"
- LVS_Regression_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing LVS for Regression
- run: |
- cd ./rules/klayout/lvs/testing
- make test-LVS_main -j$(nproc)
diff --git a/.github/workflows/lvs_switch_checking_test.yml b/.github/workflows/lvs_switch_checking_test.yml
deleted file mode 100644
index 964a42b..0000000
--- a/.github/workflows/lvs_switch_checking_test.yml
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022 GlobalFoundries 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
-#
-# http://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.
-
-# This is a Github Actions for testing LVS rule deck of GF180MCU
-name: LVS Switch Checking (Rule deck arguments) test
-
-# Controls when the workflow will run
-on:
- # Triggers the workflow on push or pull request events
- push:
- pull_request:
-
- # Allows you to run this workflow manually from the Actions tab
- workflow_dispatch:
-
-# Defines environment variables
-env:
- PDK_ROOT: $GITHUB_WORKSPACE/rules/klayout
- PDK: lvs
-
-# A workflow run is made up of one or more jobs that can run sequentially or in parallel
-jobs:
- # This workflow contains a single job called "LVS_Switch_checking_testing"
- LVS_Switch_checking_testing:
- # The type of runner that the job will run on
- runs-on: ubuntu-latest
-
- # Steps represent a sequence of tasks that will be executed as part of the job
- steps:
- # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- - uses: actions/checkout@v3
-
- # Gets python version with list of needed requirements
- - uses: actions/setup-python@v3
- with:
- python-version: '3.9'
- cache: 'pip'
- cache-dependency-path: '**/requirements.test.txt'
-
- # Installs requirements
- - run: pip install -r ./rules/klayout/requirements.test.txt
-
- # Installs Klayout verison 0.27.8
- - name: Installing Klayout 0.27.8
- run: |
- sudo apt-get update
- sudo apt-get upgrade -y
- wget https://www.klayout.org/downloads/Ubuntu-20/klayout_0.27.8-1_amd64.deb
- sudo apt-get install qt5-default qttools5-dev libqt5xmlpatterns5-dev qtmultimedia5-dev libqt5multimediawidgets5 libqt5svg5-dev
- sudo dpkg -i ./klayout_0.27.8-1_amd64.deb
- sudo apt-get install -f -y
-
- # Runs a set of commands using the runners shell
- - name: Testing LVS for Switch Checking
- run: |
- cd ./rules/klayout/lvs/testing
- make test-LVS_switch -j$(nproc)
diff --git a/rules/klayout/drc/testing/Makefile b/rules/klayout/drc/testing/Makefile
index 21d8f44..df53ce7 100644
--- a/rules/klayout/drc/testing/Makefile
+++ b/rules/klayout/drc/testing/Makefile
@@ -23,16 +23,16 @@
all : clean test-DRC
-test-DRC: test-DRC_switch test-DRC_SC test-DRC_main
+test-DRC: test-DRC-switch test-DRC-SC test-DRC-main
#=================================
-# --------- test-DRC_SC ----------
+# --------- test-DRC-SC ----------
#=================================
.ONESHELL:
-test-DRC_SC : test-DRC-gf180mcu_fd_ip_sram test-DRC-gf180mcu_fd_io test-DRC-gf180mcu_fd_sc_mcu7t5v0 test-DRC-gf180mcu_fd_sc_mcu9t5v0
- @echo "========== DRC-DRC_SC is done =========="
+test-DRC-SC : test-DRC-gf180mcu_fd_ip_sram test-DRC-gf180mcu_fd_io test-DRC-gf180mcu_fd_sc_mcu7t5v0 test-DRC-gf180mcu_fd_sc_mcu9t5v0
+ @echo "========== DRC-DRC-SC is done =========="
.ONESHELL:
test-DRC-gf180mcu_fd_ip_sram:
@@ -42,7 +42,7 @@
--path=ip_testcases/gf180mcu_fd_ip_sram__sram64x8m8wm1.gds \
--path=ip_testcases/gf180mcu_fd_ip_sram__sram128x8m8wm1.gds \
--path=ip_testcases/gf180mcu_fd_ip_sram__sram256x8m8wm1.gds \
- --path=ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
+ --path=ip_testcases/gf180mcu_fd_ip_sram__sram512x8m8wm1.gds
.ONESHELL:
test-DRC-gf180mcu_fd_io:
@@ -70,7 +70,7 @@
#=================================
.ONESHELL:
-test-DRC_main : test-DRC-foundry-Option-1 test-DRC-foundry-Option-2 test-DRC-foundry-Option-3 test-DRC-foundry-Option-4 test-DRC-Option-A test-DRC-Option-B test-DRC-Option-C
+test-DRC-main : test-DRC-foundry-Option-1 test-DRC-foundry-Option-2 test-DRC-foundry-Option-3 test-DRC-foundry-Option-4 test-DRC-Option-A test-DRC-Option-B test-DRC-Option-C
@echo "========== DRC-Regression is done =========="
.ONESHELL:
@@ -79,7 +79,7 @@
@echo "========== DRC-Regression foundry-Option-1 =========="
@python3 run_regression.py \
--path=testcases/0.0.DM000013_13_1P6M_6kA_MIMA_SOLDER_BUMP.gds.gz \
- --metal_top="6K" --mim_option="A" --metal_level=6 --run_name="DRC-foundry-Option-1"
+ --metal_top="6K" --mim_option="A" --metal_level=6 --run_name="DRC-foundry-Option-1"
.ONESHELL:
test-DRC-foundry-Option-2:
@@ -87,7 +87,7 @@
@echo "========== DRC-Regression foundry-Option-2 =========="
@python3 run_regression.py \
--path=testcases/0.0.DM000013_13_1P6M_9kA_MIMB_WEDGE.gds.gz \
- --metal_top="9K" --mim_option="B" --metal_level=6 --run_name="DRC-foundry-Option-2"
+ --metal_top="9K" --mim_option="B" --metal_level=6 --run_name="DRC-foundry-Option-2"
.ONESHELL:
test-DRC-foundry-Option-3:
@@ -95,7 +95,7 @@
@echo "========== DRC-Regression foundry-Option-3 =========="
@python3 run_regression.py \
--path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds.gz \
- --metal_top="11K" --mim_option="A" --metal_level=6 --run_name="DRC-foundry-Option-3"
+ --metal_top="11K" --mim_option="A" --metal_level=6 --run_name="DRC-foundry-Option-3"
.ONESHELL:
test-DRC-foundry-Option-4:
@@ -103,7 +103,7 @@
@echo "========== DRC-Regression foundry-Option-4 =========="
@python3 run_regression.py \
--path=testcases/0.0.DM000013_13_1P6M_30kA_MIMB_BALL.gds.gz \
- --metal_top="30K" --mim_option="B" --metal_level=6 --run_name="DRC-foundry-Option-4"
+ --metal_top="30K" --mim_option="B" --metal_level=6 --run_name="DRC-foundry-Option-4"
.ONESHELL:
test-DRC-Option-A:
@@ -111,7 +111,7 @@
@echo "========== DRC-Regression Option-A =========="
@python3 run_regression.py \
--path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds.gz \
- --metal_top="30K" --mim_option="A" --metal_level=3 --run_name="DRC-Option-A"
+ --metal_top="30K" --mim_option="A" --metal_level=3 --run_name="DRC-Option-A"
.ONESHELL:
test-DRC-Option-B:
@@ -119,7 +119,7 @@
@echo "========== DRC-Regression Option-B =========="
@python3 run_regression.py \
--path=testcases/0.0.DM000013_13_1P6M_11kA_MIMA_Gold_Bump.gds.gz \
- --metal_top="11K" --mim_option="B" --metal_level=4 --run_name="DRC-Option-B"
+ --metal_top="11K" --mim_option="B" --metal_level=4 --run_name="DRC-Option-B"
.ONESHELL:
test-DRC-Option-C:
@@ -136,14 +136,14 @@
--path=testcases/density_testcases/MT_3_pass.gds \
--path=testcases/density_testcases/PL_8_fail.gds \
--path=testcases/density_testcases/PL_8_pass.gds \
- --metal_top="9K" --mim_option="B" --metal_level=5 --run_name="DRC-Option-C"
+ --metal_top="9K" --mim_option="B" --metal_level=5 --run_name="DRC-Option-C"
#=================================
-# -------- test-DRC_switch -------
+# -------- test-DRC-switch -------
#=================================
.ONESHELL:
-test-DRC_switch:
+test-DRC-switch:
@cd $(Testing_DIR)
@echo "========== DRC-Switch testing =========="
@python3 run_switch_checking.py
@@ -168,13 +168,13 @@
@echo "\n ==== The following are some of the valid targets for this Makefile ====\n"
@echo "... all (the default if no target is provided )"
@echo "... clean (To clean all old runs )"
- @echo "... test-DRC_switch (To run switch checking regression )"
- @echo "... test-DRC_SC (To run standard cells DRC regression )"
+ @echo "... test-DRC-switch (To run switch checking regression )"
+ @echo "... test-DRC-SC (To run standard cells DRC regression )"
@echo "... test-DRC-gf180mcu_fd_ip_sram (To run SRAM IP cells DRC regression )"
@echo "... test-DRC-gf180mcu_fd_io (To run I/O cells DRC regression )"
@echo "... test-DRC-gf180mcu_fd_sc_mcu7t5v0 (To run standard cells 7 tracks DRC regression )"
@echo "... test-DRC-gf180mcu_fd_sc_mcu9t5v0 (To run standard cells 9 tracks DRC regression )"
- @echo "... test-DRC_main (To run main DRC full regression )"
+ @echo "... test-DRC-main (To run main DRC full regression )"
@echo "... test-DRC-foundry-Option-1 (To run main DRC regression using foundry-Option-1)"
@echo "... test-DRC-foundry-Option-2 (To run main DRC regression using foundry-Option-2)"
@echo "... test-DRC-foundry-Option-3 (To run main DRC regression using foundry-Option-3)"
diff --git a/rules/klayout/lvs/testing/Makefile b/rules/klayout/lvs/testing/Makefile
index 5656b9c..6f67766 100644
--- a/rules/klayout/lvs/testing/Makefile
+++ b/rules/klayout/lvs/testing/Makefile
@@ -24,7 +24,7 @@
all: test-LVS
-test-LVS: Add_run-dir test-LVS_switch test-LVS-gf180mcu_fd_sc test-LVS_main
+test-LVS: Add_run-dir test-LVS-switch test-LVS-gf180mcu_fd_sc test-LVS-main
#=================================
# --------- RUN FOLDER ----------
@@ -36,7 +36,7 @@
@ mkdir -p $(run_folder)/switch_checking $(run_folder)/main $(run_folder)/gf180mcu_fd_sc_mcu7t5v0 $(run_folder)/gf180mcu_fd_sc_mcu9t5v0 $(run_folder)/gf180mcu_fd_io $(run_folder)/gf180mcu_fd_ip_sram
#=================================
-# --------- test-LVS_SC ----------
+# --------- test-LVS-SC ----------
#=================================
.ONESHELL:
@@ -67,7 +67,7 @@
#=================================
.ONESHELL:
-test-LVS_main: test-LVS_MOS test-LVS_BJT test-LVS_DIODE test-LVS_RES test-LVS_MIMCAP test-LVS_MOSCAP test-LVS_MOS-SAB
+test-LVS-main: test-LVS_MOS test-LVS_BJT test-LVS_DIODE test-LVS_RES test-LVS_MIMCAP test-LVS_MOSCAP test-LVS_MOS-SAB
.ONESHELL:
test-LVS_MOS: Add_run-dir
@@ -112,11 +112,11 @@
@ python3 run_regression.py --run_dir=$(run_folder)/main --device=MOS-SAB |& tee $(run_folder)/main/LVS_MOS-SAB/results.log
#=================================
-# -------- test-LVS_switch -------
+# -------- test-LVS-switch -------
#=================================
.ONESHELL:
-test-LVS_switch: Add_run-dir
+test-LVS-switch: Add_run-dir
@cd $(Testing_DIR)
@cd ..
@echo "========== LVS-Switch testing =========="
@@ -135,9 +135,9 @@
@echo "... all (the default if no target is provided )"
@echo "... Add_run-dir (Create output directory of all runs )"
@echo "... test-LVS (To run LVS full regression )"
- @echo "... test-LVS_switch (To run switch checking regression )"
+ @echo "... test-LVS-switch (To run switch checking regression )"
@echo "... test-LVS-gf180mcu_fd_sc (To run standard cells LVS regression )"
- @echo "... test-LVS_main (To run main LVS regression for all devices )"
+ @echo "... test-LVS-main (To run main LVS regression for all devices )"
@echo "... test-LVS_MOS (To run main LVS regression for MOS devices )"
@echo "... test-LVS_BJT (To run main LVS regression for BJT devices )"
@echo "... test-LVS_DIODE (To run main LVS regression for diode devices )"