|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [XEN PATCH 3/3] automation: check for generated files
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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |