Merge pull request #2046 from kintex-chatter/k7-iob18

add support for the kintex/virtex high performance banks
diff --git a/.github/check_license.sh b/.github/scripts/check_license.sh
similarity index 100%
rename from .github/check_license.sh
rename to .github/scripts/check_license.sh
diff --git a/.github/check_python_scripts.sh b/.github/scripts/check_python_scripts.sh
similarity index 100%
rename from .github/check_python_scripts.sh
rename to .github/scripts/check_python_scripts.sh
diff --git a/.github/workflows/scripts/db.sh b/.github/scripts/db.sh
similarity index 69%
rename from .github/workflows/scripts/db.sh
rename to .github/scripts/db.sh
index ab94616..b50c781 100755
--- a/.github/workflows/scripts/db.sh
+++ b/.github/scripts/db.sh
@@ -9,50 +9,51 @@
 
 set -e
 
-source $(dirname "$0")/hostinfo.sh
+echo '::group::Host Environment'
+export
+echo '::endgroup::'
 
+echo '::group::Host CPU'
+export CORES=$(nproc --all)
+echo "Cores: $CORES"
 echo
-echo "======================================="
-echo "Creating Vivado Symbolic Link"
-echo "---------------------------------------"
+echo "Memory"
+echo "----------------------------------------"
+cat /proc/meminfo
+echo "----------------------------------------"
+export MEM_GB=$(($(awk '/MemTotal/ {print $2}' /proc/meminfo)/(1024*1024)))
+echo "Total Memory (GB): $MEM_GB"
+echo '::endgroup::'
+
+# Approx memory per grid process
+export MEM_PER_RUN=8
+export MAX_GRID_CPU=$(($MEM_GB/$MEM_PER_RUN))
+export MAX_VIVADO_PROCESS=$(($MEM_GB/$MEM_PER_RUN))
+
+echo '::group::Source Vivado settings'
 ls /opt/Xilinx/Vivado
 source /opt/Xilinx/Vivado/2017.2/settings64.sh
 vivado -version
+echo '::endgroup::'
 
-echo
-echo "========================================"
-echo "Downloading current database"
-echo "----------------------------------------"
-(
-	script --return --flush --command "./download-latest-db.sh" -
-)
-echo "----------------------------------------"
+echo '::group::Downloading current database'
+script --return --flush --command "./download-latest-db.sh" -
+echo '::endgroup::'
 
-echo
-echo "========================================"
-echo "Preparing database"
-echo "----------------------------------------"
-(
-	make db-prepare-${XRAY_SETTINGS}
-)
-echo "----------------------------------------"
+echo '::group::Preparing database'
+make db-prepare-${XRAY_SETTINGS}
+echo '::endgroup::'
 
 source settings/$XRAY_SETTINGS.sh
 
-echo
-echo "========================================"
-echo "Cleaning out current database"
-echo "----------------------------------------"
+echo '::group::Cleaning out current database'
 (
 	cd database
 	make clean-${XRAY_SETTINGS}-db
 )
-echo "----------------------------------------"
+echo '::endgroup::'
 
-echo
-echo "========================================"
-echo "Running Database build"
-echo "----------------------------------------"
+echo '::group::Running Database build'
 (
 	# Output which fuzzers we are going to run
 	echo "make --dry-run"
@@ -86,7 +87,7 @@
 		exit $DATABASE_RET
 	fi
 )
-echo "----------------------------------------"
+echo '::endgroup::'
 
 # Format the database
 make db-format-${XRAY_SETTINGS}
@@ -94,10 +95,7 @@
 make db-info
 
 # Output if the database has differences
-echo
-echo "========================================"
-echo " Database Differences"
-echo "----------------------------------------"
+echo '::group::Database Differences'
 (
 	cd database
 	# Update the index with any new files
@@ -109,7 +107,6 @@
 
 	# Output what git status
 	echo
-	echo "----------------------------------------"
 	echo " Database Status"
 	echo "----------------------------------------"
 	git status
@@ -118,14 +115,12 @@
 
 	# Output a summary of how the files have changed
 	echo
-	echo "----------------------------------------"
 	echo " Database Diff Summary"
 	echo "----------------------------------------"
 	git diff --stat --irreversible-delete --find-renames --find-copies --ignore-all-space origin/master
 
 	# Save the diff to be uploaded as an artifact
 	echo
-	echo "----------------------------------------"
 	echo " Saving diff output"
 	echo "----------------------------------------"
 	# Patch file
@@ -137,26 +132,22 @@
 	DIFF_LINES="$(wc -l diff.patch | sed -e's/ .*$//')"
 	if [ $DIFF_LINES -gt $MAX_DIFF_LINES ]; then
 		echo
-		echo "----------------------------------------"
 		echo " Database Diff"
 		echo "----------------------------------------"
 		echo "diff has $DIFF_LINES lines which is too large to display!"
 
 		echo
-		echo "----------------------------------------"
 		echo " Generating pretty diff output"
 		echo "----------------------------------------"
 		echo "diff has $DIFF_LINES lines which is too large for HTML output!"
 	else
 		# Output the actually diff
 		echo
-		echo "----------------------------------------"
 		echo " Database Diff"
 		echo "----------------------------------------"
 		git diff --color --irreversible-delete --find-renames --find-copies --ignore-all-space origin/master
 
 		echo
-		echo "----------------------------------------"
 		echo " Generating pretty diff output"
 		echo "----------------------------------------"
 		(
@@ -177,7 +168,7 @@
 		) || true
 	fi
 )
-echo "----------------------------------------"
+echo '::endgroup::'
 
 # Check the database and fail if it is broken.
 set -x +e
@@ -185,22 +176,17 @@
 CHECK_RET=$?
 set +x -e
 
-echo
-echo "========================================"
-echo " Testing HTML generation"
-echo "----------------------------------------"
+echo '::group::Testing HTML generation'
 (
 	cd htmlgen
 	source htmlgen.sh $XRAY_SETTINGS
 )
+echo '::endgroup::'
 
 # If we get here, then all the fuzzers completed fine. Hence we are
 # going to assume we don't want to keep all the build / logs / etc (as
 # they are quite large). Thus do a clean to get rid of them.
-echo
-echo "========================================"
-echo " Cleaning up after success"
-echo "----------------------------------------"
+echo '::group::Cleaning up after success'
 (
 	cd fuzzers
 	echo
@@ -208,11 +194,10 @@
 	make clean_fuzzers
 	make clean_piplists
 )
-echo "----------------------------------------"
+echo '::endgroup::'
 
-echo "========================================"
-echo " Final disk space after cleanup"
-echo "----------------------------------------"
+echo '::group::Final disk space after cleanup'
 du -sh
+echo '::endgroup::'
 
 exit $CHECK_RET
diff --git a/.github/update-contributing.py b/.github/scripts/update-contributing.py
similarity index 100%
rename from .github/update-contributing.py
rename to .github/scripts/update-contributing.py
diff --git a/.github/workflows/scripts/xilinx.sh b/.github/scripts/xilinx.sh
similarity index 100%
rename from .github/workflows/scripts/xilinx.sh
rename to .github/scripts/xilinx.sh
diff --git a/.github/workflows/Pipeline.yml b/.github/workflows/Pipeline.yml
index f9cd4bc..3653ed9 100644
--- a/.github/workflows/Pipeline.yml
+++ b/.github/workflows/Pipeline.yml
@@ -63,7 +63,7 @@
       - name: Xilinx Setup
         run: |
           git config --global --add safe.directory /root/prjxray/prjxray
-          .github/workflows/scripts/xilinx.sh
+          .github/scripts/xilinx.sh
         env:
           USE_LICENSE_SERVER: "true"
           XRAY_SETTINGS: ${{ matrix.family }}
@@ -75,7 +75,7 @@
         run: make env --output-sync=target --warn-undefined-variables
 
       - name: Run Test
-        run: .github/workflows/scripts/db.sh
+        run: .github/scripts/db.sh
         env:
           XRAY_SETTINGS: ${{ matrix.family }}
 
diff --git a/.github/workflows/scripts/hostinfo.sh b/.github/workflows/scripts/hostinfo.sh
deleted file mode 100755
index 577577c..0000000
--- a/.github/workflows/scripts/hostinfo.sh
+++ /dev/null
@@ -1,36 +0,0 @@
-#!/bin/bash
-# Copyright (C) 2017-2020  The Project X-Ray Authors.
-#
-# Use of this source code is governed by a ISC-style
-# license that can be found in the LICENSE file or at
-# https://opensource.org/licenses/ISC
-#
-# SPDX-License-Identifier: ISC
-
-set -e
-
-echo
-echo "========================================"
-echo "Host Environment"
-echo "----------------------------------------"
-export
-echo "----------------------------------------"
-
-echo
-echo "========================================"
-echo "Host CPU"
-echo "----------------------------------------"
-export CORES=$(nproc --all)
-echo "Cores: $CORES"
-echo
-echo "Memory"
-echo "----------------------------------------"
-cat /proc/meminfo
-echo "----------------------------------------"
-export MEM_GB=$(($(awk '/MemTotal/ {print $2}' /proc/meminfo)/(1024*1024)))
-echo "Total Memory (GB): $MEM_GB"
-
-# Approx memory per grid process
-export MEM_PER_RUN=8
-export MAX_GRID_CPU=$(($MEM_GB/$MEM_PER_RUN))
-export MAX_VIVADO_PROCESS=$(($MEM_GB/$MEM_PER_RUN))
diff --git a/Makefile b/Makefile
index a331094..d66c2c1 100644
--- a/Makefile
+++ b/Makefile
@@ -88,7 +88,7 @@
 	find . -name \*.h $(FORMAT_EXCLUDE) -print0 | xargs -0 -P $$(nproc) ${CLANG_FORMAT} -style=file -i
 
 format-docs:
-	./.github/update-contributing.py
+	./.github/scripts/update-contributing.py
 
 PYTHON_FORMAT ?= yapf
 format-py:
@@ -128,8 +128,8 @@
 .PHONY: format format-cpp format-py format-tcl format-trailing-ws
 
 check-license:
-	@./.github/check_license.sh
-	@./.github/check_python_scripts.sh
+	@./.github/scripts/check_license.sh
+	@./.github/scripts/check_python_scripts.sh
 
 .PHONY: check-license