Files
the-nexus/.github/workflows/pr-duplicate-check.yml
Alexander Whitestone a29299820f
Some checks failed
CI / test (pull_request) Failing after 1m1s
Review Approval Gate / verify-review (pull_request) Failing after 9s
CI / validate (pull_request) Failing after 1m1s
feat: Add forge cleanup tools and documentation (#1128)
## Summary
Implements forge cleanup tools and documentation as requested in issue #1128.

## Changes
- scripts/cleanup-duplicate-prs.sh: Automated duplicate PR detection
- docs/forge-cleanup-analysis.md: Analysis of duplicate PRs
- docs/forge-cleanup-report.md: Cleanup report with metrics
- .github/workflows/pr-duplicate-check.yml: Weekly automated checks

Issue: #1128
2026-04-13 21:51:12 -04:00

70 lines
2.0 KiB
YAML

name: Duplicate PR Detection
on:
schedule:
# Run weekly on Monday at 9 AM UTC
- cron: '0 9 * * 1'
workflow_dispatch: # Allow manual trigger
pull_request:
types: [opened, reopened]
jobs:
check-duplicates:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y jq curl
- name: Check for duplicate PRs
env:
GITEA_TOKEN: ${{ secrets.GITEA_TOKEN }}
GITEA_URL: ${{ secrets.GITEA_URL || 'https://forge.alexanderwhitestone.com' }}
REPO: ${{ github.repository }}
run: |
chmod +x ./scripts/cleanup-duplicate-prs.sh
./scripts/cleanup-duplicate-prs.sh --dry-run
- name: Create issue if duplicates found
if: failure()
uses: actions/github-script@v7
with:
script: |
const title = 'Duplicate PRs Detected';
const body = `## Duplicate PRs Found
The duplicate PR detection workflow found potential duplicate PRs.
**Action Required:**
1. Review the duplicate PRs
2. Close older duplicates
3. Keep the newest PR for each issue
**Workflow Run:** ${context.runId}
**Repository:** ${context.repo.owner}/${context.repo.repo}
This issue was automatically created by the duplicate PR detection workflow.`;
await github.rest.issues.create({
owner: context.repo.owner,
repo: context.repo.repo,
title,
body,
labels: ['maintenance', 'automated']
});
# Notify on manual trigger
notify:
needs: check-duplicates
if: github.event_name == 'workflow_dispatch'
runs-on: ubuntu-latest
steps:
- name: Send notification
run: |
echo "Duplicate PR check completed"
echo "Check the workflow run for details"