#!/bin/bash set -e echo "Validating Renovate configuration..." renovate-config-validator echo "Running Renovate dry-run..." renovate --dry-run=full > renovate-output.log 2>&1 cat renovate-output.log # Assertions echo "Checking for successful run..." if ! grep -q "Repository finished" renovate-output.log; then echo "Error: Renovate run did not finish successfully." exit 1 fi echo "Checking for errors..." if grep -q "ERROR" renovate-output.log; then echo "Error: Renovate log contains errors." exit 1 fi # Specific assertions based on the test repo state echo "Checking for expected nginx update..." if ! grep -q "renovate/nginx-" renovate-output.log; then echo "Error: Expected 'renovate/nginx-' branch not found in output." exit 1 fi echo "Checking for nginx PR title..." if ! grep -q "Update nginx Docker tag to" renovate-output.log; then echo "Error: Expected PR title 'Update nginx Docker tag to...' not found." exit 1 fi echo "Checking for expected actions/checkout update..." if ! grep -q "renovate/actions-checkout-" renovate-output.log; then echo "Error: Expected 'renovate/actions-checkout-' branch not found in output." exit 1 fi echo "Checking for actions/checkout PR title..." if ! grep -q "Update actions/checkout action to" renovate-output.log; then echo "Error: Expected PR title 'Update actions/checkout action to...' not found." exit 1 fi echo "Checking for onboarding PR..." if ! grep -q "Would create onboarding PR" renovate-output.log; then echo "Error: Expected onboarding PR creation not found." exit 1 fi echo "Test passed!" rm renovate-output.log