[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[XEN PATCH 3/3] automation: check for generated files


  • To: <xen-devel@xxxxxxxxxxxxxxxxxxxx>
  • From: Anthony PERARD <anthony.perard@xxxxxxxxxx>
  • Date: Tue, 1 Mar 2022 12:11:33 +0000
  • Authentication-results: esa3.hc3370-68.iphmx.com; dkim=none (message not signed) header.i=none
  • Cc: <wl@xxxxxxx>, <sstabellini@xxxxxxxxxx>, <andrew.cooper3@xxxxxxxxxx>, Anthony PERARD <anthony.perard@xxxxxxxxxx>, Doug Goldstein <cardoe@xxxxxxxxxx>
  • Delivery-date: Tue, 01 Mar 2022 12:11:52 +0000
  • Ironport-data: A9a23:hiHVhq1UC5XQPIzHrfbD5c9xkn2cJEfYwER7XKvMYLTBsI5bp2YEx 2AfUGjUbvyIZWrxLd1xOd+//EkHuJCGnddiGVZspC1hF35El5HIVI+TRqvS04J+DSFhoGZPt Zh2hgzodZhsJpPkjk7xdOCn9xGQ7InQLlbGILes1htZGEk1EE/NtTo5w7Rj2tUw2IDja++wk YiaT/P3aQfNNwFcagr424rbwP+4lK2v0N+wlgVWicFj5DcypVFMZH4sDfjZw0/DaptVBoaHq 9Prl9lVyI97EyAFUbtJmp6jGqEDryW70QKm0hK6UID66vROS7BbPg/W+5PwZG8O4whlkeydx /0UrLC+eTsOJ5btwuY6fRZWGTFAJZNZreqvzXiX6aR/zmXDenrohf5vEFs3LcsT/eMf7WNmr KJCbmpXN1ba2rzwkOnTpupE36zPKOHiOp8fvXdxiynUF/88TbjIQrnQ5M8e1zA17ixLNaiDP ZJEM2E/BPjGSydpYQgQNaI8oLqhiHbycx0BpkKzvaVitgA/yyQuieOwYbI5YOeiXt5Jl0yVo mbH+WXRARwAMtGbjz2f/RqEjebVkST2cIkbDrG/+7hhh1j77nweDlgaWEW2pdG9i1WiQJRPJ koM4C0soKMuskuxQbHVQBmQsHOC+BkGVLJt//YSsV/XjPCOukDAWzZCHmUphMEaWNEeHCUG2 G+1uMrSJGZtl5OaR3iNyK+qsmbnUcQKFlMqaSgBRAoDxtDspoAvkx7CJupe/L6JYs7dQm+pn W3TxMQqr/BK1JNQif3nlbzSq2/0/vD0ohgJChI7t45Pxidwf8abaoOh8jA3Bt4Qfd/CHjFtU JXp8vVyDdzi77nQzERho81XRdlFAspp1hWG2TaD+LF7qlyQF4aLJ9w43d2HDB4B3jw4UTHoe lTPngha+YVeOnCnBYcuPd7vU5txk/S5TI20PhwxUjaoSsIqHONg1HszDXN8Iki3yBR8+U3BE c3znTmQ4YYyVv08kWveqxY12r433CEurV4/trigpylLJYG2PSbPIZ9caQPmRrlgsMus/VWEm /4CZpDi40gOD4XDjtz/rNd7waYidiNgW/gbaqV/K4a+H+aRMDp5Wq+JnOh4INQNcmY8vr6gw 0xRk3RwkDLX7UAr4y3QApy/QNsDhapCkE8=
  • Ironport-hdrordr: A9a23:HKz9f6k4paRf1XdCTpxvL7Q1lEbpDfIU3DAbv31ZSRFFG/Fxl6 iV8sjzsiWE7gr5OUtQ4exoV5PhfZqxz/JICMwqTNKftWrdyQyVxeNZnOjfKlTbckWUnINgPO VbAsxD4bXLfCFHZK3BgTVQfexO/DD+ytHLudvj
  • List-id: Xen developer discussion <xen-devel.lists.xenproject.org>

Try to find out whether genereted files that are commited needs to be
regenerated.

Signed-off-by: Anthony PERARD <anthony.perard@xxxxxxxxxx>
---
 automation/gitlab-ci/test.yaml           | 10 +++++
 automation/scripts/check-generated-files | 55 ++++++++++++++++++++++++
 2 files changed, 65 insertions(+)
 create mode 100755 automation/scripts/check-generated-files

diff --git a/automation/gitlab-ci/test.yaml b/automation/gitlab-ci/test.yaml
index 56747fb335..a4b08c26ca 100644
--- a/automation/gitlab-ci/test.yaml
+++ b/automation/gitlab-ci/test.yaml
@@ -25,6 +25,16 @@ build-each-commit-gcc:
   tags:
     - x86_64
 
+build-check-generated-files-tools:
+  extends: .test-jobs-common
+  variables:
+    CONTAINER: debian:stable
+  script:
+    - automation/scripts/check-generated-files
+  needs: []
+  tags:
+    - x86_64
+
 qemu-alpine-arm64-gcc:
   extends: .test-jobs-common
   variables:
diff --git a/automation/scripts/check-generated-files 
b/automation/scripts/check-generated-files
new file mode 100755
index 0000000000..054ea3e025
--- /dev/null
+++ b/automation/scripts/check-generated-files
@@ -0,0 +1,55 @@
+#!/bin/bash
+
+# Check that generated files that are commited are actually up to date
+
+check_git_status() {
+    output="$(git status --porcelain --untracked-files=no)"
+    if [ -n "$output" ]; then
+        echo
+        echo "Files potentially needs to be regenerated:"
+        echo "$output"
+        return 1
+    fi
+}
+
+set -e
+set -x
+
+# Try to have recently changed files more recent than generated files if those 
haven't been regenerated.
+if [[ "$CI_COMMIT_BEFORE_SHA" && "$CI_COMMIT_BEFORE_SHA" != 
0000000000000000000000000000000000000000 ]]; then
+    git switch --detach $CI_COMMIT_BEFORE_SHA
+    git switch --detach -
+fi
+
+# Lists of files that generate other commited files:
+touch tools/libs/light/*.idl
+
+
+# Regen autoconf files
+./autogen.sh
+
+# build up our configure options
+cfgargs=()
+
+# Disable non-tools subsystems
+cfgargs+=("--disable-xen")
+cfgargs+=("--disable-stubdom")
+cfgargs+=("--disable-docs")
+
+
+# Disable external trees
+cfgargs+=("--with-system-seabios=/bin/false")
+cfgargs+=("--with-system-qemu=/bin/false")
+cfgargs+=("--with-system-ipxe=/usr/lib/ipxe/ipxe.pxe")
+cfgargs+=("--disable-ovmf")
+cfgargs+=("--disable-pvshim")
+cfgargs+=("--disable-qemu-traditional")
+
+
+./configure --quiet "${cfgargs[@]}"
+make -s -j$(nproc) build-tools
+
+if ! check_git_status; then
+    git diff
+    exit 1
+fi
-- 
Anthony PERARD




 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.