diff --git a/libcxx/utils/ci/buildkite-pipeline.yml b/libcxx/utils/ci/buildkite-pipeline.yml --- a/libcxx/utils/ci/buildkite-pipeline.yml +++ b/libcxx/utils/ci/buildkite-pipeline.yml @@ -28,6 +28,18 @@ soft_fail: - exit_status: 1 + - label: "Generated output" + command: "libcxx/utils/ci/run-buildbot check-generated-output" + artifact_paths: + - "**/generate_feature_test_macro_components.patch" + - "**/generate_header_tests.patch" + agents: + queue: "libcxx-builders" + retry: + automatic: + - exit_status: -1 # Agent was lost + limit: 2 + - label: "C++03" command: "libcxx/utils/ci/run-buildbot generic-cxx03" artifact_paths: diff --git a/libcxx/utils/ci/run-buildbot b/libcxx/utils/ci/run-buildbot --- a/libcxx/utils/ci/run-buildbot +++ b/libcxx/utils/ci/run-buildbot @@ -132,6 +132,22 @@ # Check if the diff is empty, fail otherwise. ! grep -q '^--- a' ${BUILD_DIR}/clang-format.patch ;; +check-generated-output) + clean + echo "+++ Checking the output of the generated scripts" + mkdir -p ${BUILD_DIR} + python3 libcxx/utils/generate_feature_test_macro_components.py + git diff \ + | tee ${BUILD_DIR}/generate_feature_test_macro_components.patch + git reset --hard HEAD + python3 libcxx/utils/generate_header_tests.py + git diff \ + | tee ${BUILD_DIR}/generate_header_tests.patch + # Check if the diffs are empty, fail otherwise. + ! grep -q '^--- a' \ + ${BUILD_DIR}/generate_feature_test_macro_components.patch \ + ${BUILD_DIR}/generate_header_tests.patch +;; generic-cxx03) export CC=clang export CXX=clang++