mirror of
https://github.com/RGBCube/nu_scripts
synced 2025-08-01 06:37:46 +00:00
Added delete-merged-branches.nu (#255)
Co-authored-by: Yethal <nosuchemail@email.com>
This commit is contained in:
parent
d121e9808a
commit
7d5c2f0a2e
4 changed files with 50 additions and 1 deletions
|
@ -18,7 +18,7 @@ jobs:
|
|||
- name: Setup Nu
|
||||
uses: hustcer/setup-nu@main
|
||||
with:
|
||||
version: '0.63.0'
|
||||
version: '0.64.0'
|
||||
- run: ./branch-protections.nu
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
|
|
9
github/merged-branches/README.md
Normal file
9
github/merged-branches/README.md
Normal file
|
@ -0,0 +1,9 @@
|
|||
# Merged Branches
|
||||
|
||||
### Definition
|
||||
|
||||
Do your developers often forget to delete their branches after merging PRs? Are you tired of manually going into every repository and deleting them? Don't! Let nushell do it for you!
|
||||
|
||||
### Setup
|
||||
1. Create a repo in your organization account to store the github action
|
||||
1. Push both the attached script and the github action to the repo
|
15
github/merged-branches/merged-branches.nu
Normal file
15
github/merged-branches/merged-branches.nu
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env nu
|
||||
gh api $"orgs/($env.OWNER)/repos"
|
||||
|from json
|
||||
|each {|repo|
|
||||
gh api $"repos/($env.OWNER)/($repo.name)/pulls?state=closed"
|
||||
|from json
|
||||
|if ($in|length) > 0 {
|
||||
each {|pull|
|
||||
print $"Removing branch ($pull.head.ref) from repo ($repo.name)"
|
||||
gh api -X DELETE $"repos/($env.OWNER)/($repo.name)/git/refs/heads/($pull.head.ref)"
|
||||
}
|
||||
} else {
|
||||
print $"Repo ($repo.name) has no branches to delete"
|
||||
}
|
||||
}
|
25
github/merged-branches/merged-branches.yml
Normal file
25
github/merged-branches/merged-branches.yml
Normal file
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
name: Delete merged branches from all repositories
|
||||
'on':
|
||||
schedule:
|
||||
- cron: '0 * * * *'
|
||||
workflow_dispatch:
|
||||
|
||||
defaults:
|
||||
run:
|
||||
shell: nu {0}
|
||||
|
||||
jobs:
|
||||
delete-merged-branches:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v3
|
||||
- name: Setup Nu
|
||||
uses: hustcer/setup-nu@main
|
||||
with:
|
||||
version: '0.64.0'
|
||||
- run: ./merged-branches.nu
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
OWNER: ${{ github.repository_owner }}
|
Loading…
Add table
Add a link
Reference in a new issue