From 7476a7e5bfcb4ee25ee81c196cb29ed78bc96223 Mon Sep 17 00:00:00 2001 From: kovagoadi Date: Sat, 22 Nov 2025 15:52:00 +0100 Subject: [PATCH] Added more testing and cleanup --- scripts/e2e-renovate.sh | 49 ++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/scripts/e2e-renovate.sh b/scripts/e2e-renovate.sh index f927b46..de330fe 100755 --- a/scripts/e2e-renovate.sh +++ b/scripts/e2e-renovate.sh @@ -44,6 +44,7 @@ cleanup() { echo "Cleaning up..." # 1. Delete all Open PRs + echo "Deleting Open PRs..." PRS=$(curl -s -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/pulls?state=open") PR_INDEXES=$(echo "$PRS" | jq -r '.[].number') for INDEX in $PR_INDEXES; do @@ -53,7 +54,41 @@ cleanup() { fi done - # 2. Delete renovate.json from main branch to reset state (if exists) + # 2. Delete "Configure Renovate" PR (Closed/Merged) + echo "Deleting 'Configure Renovate' PR..." + # Fetch closed PRs to find the onboarding one + CLOSED_PRS=$(curl -s -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/pulls?state=closed") + ONBOARDING_PR_INDEX=$(echo "$CLOSED_PRS" | jq -r '.[] | select(.title | contains("Configure Renovate")) | .number') + if [ -n "$ONBOARDING_PR_INDEX" ] && [ "$ONBOARDING_PR_INDEX" != "null" ]; then + echo "Deleting Onboarding PR #$ONBOARDING_PR_INDEX..." + curl -s -X DELETE -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/issues/$ONBOARDING_PR_INDEX" + fi + + # 3. Delete "Dependency Dashboard" Issue + echo "Deleting 'Dependency Dashboard' Issue..." + ISSUES=$(curl -s -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/issues?state=open") + DASHBOARD_INDEX=$(echo "$ISSUES" | jq -r '.[] | select(.title | contains("Dependency Dashboard")) | .number') + if [ -n "$DASHBOARD_INDEX" ] && [ "$DASHBOARD_INDEX" != "null" ]; then + echo "Deleting Dashboard Issue #$DASHBOARD_INDEX..." + curl -s -X DELETE -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/issues/$DASHBOARD_INDEX" + fi + + # 4. Delete Renovate Branches + echo "Deleting Renovate Branches..." + BRANCHES=$(curl -s -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/branches") + RENOVATE_BRANCHES=$(echo "$BRANCHES" | jq -r '.[].name | select(startswith("renovate/"))') + for BRANCH in $RENOVATE_BRANCHES; do + if [ -n "$BRANCH" ]; then + echo "Deleting branch $BRANCH..." + # URL encode branch name (slash needs to be %2F, but curl might handle it or we need to be careful) + # Gitea API: DELETE /repos/{owner}/{repo}/branches/{branch} + # Simple bash URL encoding for slash + ENCODED_BRANCH=${BRANCH//\//%2F} + curl -s -X DELETE -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/branches/$ENCODED_BRANCH" + fi + done + + # 5. Delete renovate.json from main branch to reset state (if exists) FILE_INFO=$(curl -s -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/contents/renovate.json?ref=main") FILE_SHA=$(echo "$FILE_INFO" | jq -r '.sha') @@ -160,4 +195,16 @@ else exit 1 fi +# Verify Dependency Dashboard Issue +echo "Verifying Dependency Dashboard..." +ISSUES=$(curl -s -H "Authorization: token $RENOVATE_TOKEN" "$GITEA_API_URL/repos/$REPO_OWNER/$REPO_NAME/issues?state=open") +DASHBOARD_NUM=$(echo "$ISSUES" | jq -r '.[] | select(.title | contains("Dependency Dashboard")) | .number') + +if [ -n "$DASHBOARD_NUM" ] && [ "$DASHBOARD_NUM" != "null" ]; then + echo "API Verification: Dependency Dashboard found (#$DASHBOARD_NUM)." +else + echo "API Verification Failed: Dependency Dashboard NOT found." + exit 1 +fi + echo "API & Content Verification passed!"