feat: add bi-weekly automated branch cleanup workflow and documentation

This commit is contained in:
Nubenetes Bot
2026-05-15 14:08:12 +02:00
parent 3d02d8b347
commit 773dd60683
3 changed files with 44 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
name: Automated Merged Branch Cleanup
on:
schedule:
# Runs at 00:00 on day 1 and 15 of every month
- cron: '0 0 1,15 * *'
workflow_dispatch: # Allow manual trigger for testing
jobs:
cleanup:
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Delete merged branches
run: |
git config --global user.name "github-actions[bot]"
git config --global user.email "github-actions[bot]@users.noreply.github.com"
echo "Fetching latest changes..."
git fetch --prune
echo "Identifying branches merged into develop..."
# Get remote branches merged into origin/develop
# Filter out protected branches: master, develop, gh-pages, and the HEAD pointer
branches=$(git branch -r --merged origin/develop | grep -vE 'origin/(master|develop|gh-pages|HEAD)' | sed 's/.*origin\///')
if [ -z "$branches" ]; then
echo "No merged branches to clean up."
exit 0
fi
for branch in $branches; do
echo "Deleting remote branch: $branch"
git push origin --delete "$branch"
done

View File

@@ -20,6 +20,7 @@ This file contains the accumulated instructions and long-term vision for the aut
14. **Persistent V2 Caching**: The V2 Optimizer MUST use a persistent cache file (`data/v2_cache.json`) to store AI evaluations (year, quality, category). This is mandatory to minimize API costs and ensure execution speed across 15k+ links.
15. **GitHub Metadata Enrichment**: For all `github.com` resources, the bot MUST attempt to fetch real-time metadata (stars, last commit) using the GitHub API. This data must be included in the V2 rendering to provide current context.
16. **Resilient Link Health**: Every V2 generation cycle MUST perform asynchronous health checks. The bot MUST use identity rotation (User-Agents) and multiple attempts (3x) with backoff to minimize false negatives. Only definitive **404 Not Found** errors lead to removal; other failures (timeouts, 403s) result in the link being preserved but flagged as `[OFFLINE?]` to ensure maximum technical preservation. GitHub and 'Foundational' resources are exempt from removal based on health checks.
17. **Automated Branch Hygiene**: To keep the repository clean and efficient, an automated cleanup MUST run every 15 days (1st and 15th) to delete remote branches already merged into `develop`. The branches `master`, `develop`, and `gh-pages` are strictly protected and MUST NEVER be deleted.
## 🛠️ Structural Evolution & Navigation
...

View File

@@ -238,6 +238,7 @@ Nubenetes uses a sophisticated multi-stage automation pipeline. Below is the det
| 4 | **[Link Health Check](https://github.com/nubenetes/awesome-kubernetes/actions/workflows/intelligent_link_cleaner.yml)** | [`intelligent_link_cleaner.yml`](.github/workflows/intelligent_link_cleaner.yml) | **Maintenance:** Global asynchronous health check, deduplication, and `[OFFLINE?]` flagging. | Monthly / Manual | `develop` |
| 5 | **[Backup Curation](https://github.com/nubenetes/awesome-kubernetes/actions/workflows/agentic_backup.yml)** | [`agentic_backup.yml`](.github/workflows/agentic_backup.yml) | **Historical Ingestion:** Processes manual JSON/MD backups through the Agentic AI pipeline. | Manual | `develop` |
| 6 | **[Production Deploy](https://github.com/nubenetes/awesome-kubernetes/actions/workflows/main.yml)** | [`main.yml`](.github/workflows/main.yml) | **Deployment:** Builds both V1 and V2 editions using MkDocs and deploys to nubenetes.com. | Push to `master` | GitHub Pages |
| 7 | **[Merged Branch Cleanup](https://github.com/nubenetes/awesome-kubernetes/actions/workflows/cleanup_merged_branches.yml)** | [`cleanup_merged_branches.yml`](.github/workflows/cleanup_merged_branches.yml) | **Hygiene:** Automatically deletes remote branches merged into `develop` to keep the repo clean. | Bi-weekly (1st/15th) | `develop` |
### Recommended Execution Pipeline
@@ -305,6 +306,9 @@ Nubenetes follows a dual-branch GitOps model to ensure stability while allowing
- The stable, production-ready branch that powers [nubenetes.com](https://nubenetes.com).
- **Direct PRs to `master` are strictly prohibited.**
- Only the repository owner performs the final review and merge from `develop` to `master`.
- **Branch Lifecycle Automation:**
- To maintain repository hygiene, an automated workflow deletes remote branches merged into `develop` every 15 days (1st and 15th of each month).
- **Protected Branches:** The branches `master`, `develop`, and `gh-pages` are EXEMPT from deletion and will always be preserved.
---