diff --git a/.github/workflows/validate-registry.yml b/.github/workflows/validate-registry.yml index c06eca0..d183223 100644 --- a/.github/workflows/validate-registry.yml +++ b/.github/workflows/validate-registry.yml @@ -5,11 +5,18 @@ name: Validate Registry on PR # For bot-created PRs (like automated version bumps), the workflow won't trigger automatically # due to GitHub's security restrictions. In those cases, you can manually trigger this workflow: # +# Option 1 - Run Validation: # 1. Go to Actions > Validate Registry on PR > Run workflow -# 2. Enter the PR number (e.g., 57) -# 3. Click "Run workflow" +# 2. Enter the PR number (e.g., 106) +# 3. Leave "skip_validation" unchecked +# 4. Click "Run workflow" # -# This will run the validation checks and report the status to the PR. +# Option 2 - Admin Bypass (for trusted bot PRs): +# 1. Go to Actions > Validate Registry on PR > Run workflow +# 2. Enter the PR number (e.g., 106) +# 3. Check "skip_validation" checkbox +# 4. Click "Run workflow" +# 5. The check will pass immediately without running validation on: pull_request: @@ -51,7 +58,8 @@ jobs: echo "" >> $GITHUB_STEP_SUMMARY echo "Validation checks skipped by maintainer." >> $GITHUB_STEP_SUMMARY echo "PR: #${{ github.event.inputs.pr_number }}" >> $GITHUB_STEP_SUMMARY - exit 0 + echo "" >> $GITHUB_STEP_SUMMARY + echo "The workflow will complete successfully without running validation steps." >> $GITHUB_STEP_SUMMARY - name: Checkout repository (for manual runs) if: github.event_name == 'workflow_dispatch' && github.event.inputs.skip_validation != 'true' @@ -82,6 +90,7 @@ jobs: token: ${{ secrets.GITHUB_TOKEN }} - name: Detect fork PR + if: github.event.inputs.skip_validation != 'true' id: fork_check run: | # For manual runs, use the fetched PR data @@ -100,11 +109,13 @@ jobs: fi - name: Install dependencies + if: github.event.inputs.skip_validation != 'true' run: | sudo apt-get update sudo apt-get install -y jq - name: Make scripts executable + if: github.event.inputs.skip_validation != 'true' run: | chmod +x scripts/registry/validate-registry.sh chmod +x scripts/registry/auto-detect-components.sh @@ -112,6 +123,7 @@ jobs: chmod +x scripts/prompts/validate-pr.sh - name: Auto-detect new components + if: github.event.inputs.skip_validation != 'true' id: auto_detect run: | echo "## 🔍 Auto-Detection Results" >> $GITHUB_STEP_SUMMARY @@ -136,7 +148,7 @@ jobs: fi - name: Add new components to registry - if: steps.auto_detect.outputs.new_components == 'true' + if: steps.auto_detect.outputs.new_components == 'true' && github.event.inputs.skip_validation != 'true' run: | echo "## 📝 Adding New Components" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY @@ -144,6 +156,7 @@ jobs: ./scripts/registry/auto-detect-components.sh --auto-add | tee -a $GITHUB_STEP_SUMMARY - name: Validate prompt library structure + if: github.event.inputs.skip_validation != 'true' id: validate_prompts run: | echo "## 🔍 Prompt Library Validation" >> $GITHUB_STEP_SUMMARY @@ -175,6 +188,7 @@ jobs: fi - name: Validate registry + if: github.event.inputs.skip_validation != 'true' id: validate run: | echo "## ✅ Registry Validation" >> $GITHUB_STEP_SUMMARY @@ -199,6 +213,7 @@ jobs: - name: Commit registry updates (Internal PRs only) if: | + github.event.inputs.skip_validation != 'true' && steps.fork_check.outputs.is_fork == 'false' && steps.auto_detect.outputs.new_components == 'true' && steps.validate_prompts.outputs.prompt_validation == 'passed' && @@ -227,6 +242,7 @@ jobs: - name: Fork PR notice if: | + github.event.inputs.skip_validation != 'true' && steps.fork_check.outputs.is_fork == 'true' && steps.auto_detect.outputs.new_components == 'true' && steps.validate_prompts.outputs.prompt_validation == 'passed' && @@ -256,7 +272,7 @@ jobs: }); - name: Fork PR summary - if: steps.fork_check.outputs.is_fork == 'true' + if: steps.fork_check.outputs.is_fork == 'true' && github.event.inputs.skip_validation != 'true' run: | echo "## 🔀 Fork PR Detected" >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY