Fix for new paths and add build info.
Signed-off-by: Tim 'mithro' Ansell <tansell@google.com>
diff --git a/open_pdks/build-info.py b/open_pdks/build-info.py
new file mode 100755
index 0000000..128b2a6
--- /dev/null
+++ b/open_pdks/build-info.py
@@ -0,0 +1,97 @@
+#!/usr/bin/env python
+# Copyright 2021 SkyWater 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+
+import subprocess
+import json
+
+GIT_DESCRIBE_CMD="git describe --long --always"
+GIT_LOG_CMD="git log -n 1 --stat"
+
+versions = {
+ 'builder': {
+ 'name': 'Builder',
+ 'dir': 'git/builder',
+ 'commit': {},
+ },
+ 'skywater_pdk': {
+ 'name': 'SkyWater PDK',
+ 'dir': 'github/google/skywater-pdk',
+ 'commit': {},
+ },
+ 'open_pdks': {
+ 'name': 'Open-PDKs',
+ 'dir': 'github/RTimothyEdwards/open_pdks',
+ 'commit': {},
+ },
+ 'magic': {
+ 'name': 'Magic',
+ 'dir': 'github/RTimothyEdwards/magic',
+ 'commit': {},
+ },
+}
+
+out_version = [0, 0, 0, 0]
+for k in versions:
+ v_str = subprocess.check_output(
+ GIT_DESCRIBE_CMD.split(),
+ cwd=versions[k]['dir'],
+ ).strip()
+ if v_str[0] != 'v':
+ v_str = 'v'+v_str
+ versions[k]['version'] = v_str
+
+ ver, count, commit = v_str.split('-')
+ assert commit.startswith('g'), commit
+ commit = commit[1:]
+
+ versions[k]['commit']['hash'] = commit
+ ver = [int(i) for i in ver[1:].split('.')]
+ if len(ver) < 3:
+ ver.append(0)
+ ver.append(int(count))
+
+ versions[k]['v'] = ver
+ for i in range(0, len(out_version)):
+ out_version[i] += ver[i]
+
+ versions[k]['commit']['msg'] = subprocess.check_output(
+ (GIT_LOG_CMD+' '+commit).split(),
+ cwd=versions[k]['dir'],
+ ).strip()
+
+
+version_strings = {'final': 'v{0}.{1}.{2}-{3}'.format(*out_version)}
+for k in versions:
+ version_strings[k] = versions[k]['version']
+
+info = """\
+ SKY130A PDK version: {final}
+
+ Which was built using:
+ Builder: {builder}
+ SkyWater PDK: {skywater_pdk}
+ Open-PDKs: {open_pdks}
+ Magic: {magic}
+""".format(**version_strings)
+
+print(info)
+
+with open('out/build.info', 'w') as f:
+ f.write(info)
+
+with open('out/build.json', 'w') as f:
+ json.dump(versions, f, sort_keys=True, indent=2)
diff --git a/open_pdks/build-magic.sh b/open_pdks/build-magic.sh
index e535a66..3a2365d 100755
--- a/open_pdks/build-magic.sh
+++ b/open_pdks/build-magic.sh
@@ -51,7 +51,7 @@
apt-get -y autoremove
rm -rf /var/lib/apt/lists/*
-cd /host/github/magic
+cd /host/github/RTimothyEdwards/magic
git describe
./configure --prefix=/host/out/magic
make -j$(nproc)
diff --git a/open_pdks/build-open_pdks.sh b/open_pdks/build-open_pdks.sh
index bff92f1..fc6f51b 100755
--- a/open_pdks/build-open_pdks.sh
+++ b/open_pdks/build-open_pdks.sh
@@ -19,7 +19,7 @@
export PATH=/host/out/magic/bin:$PATH
-cd /host/github/open_pdks
+cd /host/github/RTimothyEdwards/open_pdks
git describe
POSSIBLE_TOOLS="all" # klayout magic netgen irsim openlane qflow xschem"
@@ -79,7 +79,7 @@
echo " Building PDK files for $TTOOL"
echo "-----------------------------------------"
./configure \
- --enable-sky130-pdk=/host/github/skywater-pdk \
+ --enable-sky130-pdk=/host/github/google/skywater-pdk \
--enable-alpha-sky130 \
--prefix=/usr/local \
$KLAYOUT \
diff --git a/open_pdks/build-skywater-pdk.sh b/open_pdks/build-skywater-pdk.sh
index 981f95b..714898b 100755
--- a/open_pdks/build-skywater-pdk.sh
+++ b/open_pdks/build-skywater-pdk.sh
@@ -17,7 +17,7 @@
set -xe
-cd /host/github/skywater-pdk
+cd /host/github/google/skywater-pdk
git describe
git submodule init libraries/sky130_fd_io/latest
diff --git a/open_pdks/continous.cfg b/open_pdks/continous.cfg
index b9b4f2c..129caeb 100644
--- a/open_pdks/continous.cfg
+++ b/open_pdks/continous.cfg
@@ -9,6 +9,8 @@
# File types
regex: "out/*.tar.xz"
regex: "out/*.log"
+ regex: "out/*.info"
+ regex: "out/*.json"
strip_prefix: "out"
}
}
diff --git a/open_pdks/run.sh b/open_pdks/run.sh
index 8848d18..fa54dec 100755
--- a/open_pdks/run.sh
+++ b/open_pdks/run.sh
@@ -30,6 +30,9 @@
echo " Script: $SCRIPT_SRC"
echo " Directory with scripts: $SCRIPT_DIR"
echo "Relative directory with scripts: $SCRIPT_DIR_REL"
+
+$SCRIPT_DIR/build-info.py
+
echo
find $PWD -type d | sort