From 9af2ef3be20c8500261d18b9e621213c4687e07e Mon Sep 17 00:00:00 2001 From: Ryan Hartman Date: Wed, 1 Jul 2026 13:15:06 -0400 Subject: [PATCH] Skip RPM repositories freshness check on unrelated PRs The verify-data check fetches the remote repository-to-cpe.json on every PR and fails if the local known_rpm_repositories.yml is stale. This causes unrelated PRs to fail when the remote source is updated between scheduled syncs. Only run this check when RPM repository files are part of the change. Co-Authored-By: Claude Opus 4.6 --- hack/verify-data.sh | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/hack/verify-data.sh b/hack/verify-data.sh index fe4abcd..1028b37 100755 --- a/hack/verify-data.sh +++ b/hack/verify-data.sh @@ -7,14 +7,30 @@ set -o nounset cd "$(git rev-parse --show-toplevel)" # Verify known_rpm_repositories.yml has been updated with entries from extra_rpm_repositories.yml. -outdated="$(./hack/render-known-rpm-repositories.sh | diff data/known_rpm_repositories.yml - || true)" -if [[ -n "${outdated}" && "${outdated}" != "[]" ]]; then - echo "Out of date items found:" - echo "${outdated}" - echo "❌ Run hack/update-known-rpm-repositories.sh" - exit 1 +# Only check freshness against the remote source when RPM repository files are part of the change. +# The scheduled update_rpm_repositories workflow keeps the file in sync automatically. +rpm_files_changed=false +if git diff --name-only "${GITHUB_BASE_REF:-main}...HEAD" -- \ + data/known_rpm_repositories.yml \ + hack/extra_rpm_repositories.yml \ + hack/suppressed_rpm_repositories.yml \ + hack/render-known-rpm-repositories.sh \ + hack/update-known-rpm-repositories.sh 2>/dev/null | grep -q .; then + rpm_files_changed=true +fi + +if [[ "${rpm_files_changed}" == "true" ]]; then + outdated="$(./hack/render-known-rpm-repositories.sh | diff data/known_rpm_repositories.yml - || true)" + if [[ -n "${outdated}" && "${outdated}" != "[]" ]]; then + echo "Out of date items found:" + echo "${outdated}" + echo "❌ Run hack/update-known-rpm-repositories.sh" + exit 1 + fi + echo '✅ data/known_rpm_repositories.yml has expected extras' +else + echo '⏭️ Skipping RPM repositories freshness check (no relevant files changed)' fi -echo '✅ data/known_rpm_repositories.yml has expected extras' # The konflux tag is what is used in Konflux prod. It is updated weekly. For reference: # https://github.com/redhat-appstudio/infra-deployments/blob/main/components/enterprise-contract/ecp.yaml