Files
yolov5_ZWgra/.github/workflows/merge-main-into-prs.yml
T
dfdfbcf3d7 Code Refactor ruff check --fix --extend-select I (#13093)
* Refactor code for speed and clarity

* Auto-format by https://ultralytics.com/actions

* Update train.py

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

* Update README.md

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>

---------

Signed-off-by: Glenn Jocher <glenn.jocher@ultralytics.com>
Co-authored-by: UltralyticsAssistant <web@ultralytics.com>
Co-authored-by: Ultralytics Assistant <135830346+UltralyticsAssistant@users.noreply.github.com>
2024-06-16 22:39:28 +02:00

57 lines
1.8 KiB
YAML

# Ultralytics YOLOv5 🚀, AGPL-3.0 license
# Automatically merges repository 'main' branch into all open PRs to keep them up-to-date
# Action runs on updates to main branch so when one PR merges to main all others update
name: Merge main into PRs
on:
workflow_dispatch:
push:
branches:
- main
- master
jobs:
Merge:
if: github.repository == 'ultralytics/yolov5'
runs-on: ubuntu-latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: actions/setup-python@v5
with:
python-version: "3.11"
cache: "pip" # caching pip dependencies
- name: Install requirements
run: |
pip install pygithub
- name: Merge main into PRs
shell: python
run: |
from github import Github
import os
# Authenticate with the GitHub Token
g = Github(os.getenv('GITHUB_TOKEN'))
# Get the repository dynamically
repo = g.get_repo(os.getenv('GITHUB_REPOSITORY'))
# List all open pull requests
open_pulls = repo.get_pulls(state='open', sort='created')
for pr in open_pulls:
# Compare PR head with main to see if it's behind
try:
# Merge main into the PR branch
success = pr.update_branch()
assert success, "Branch update failed"
print(f"Merged 'master' into PR #{pr.number} ({pr.head.ref}) successfully.")
except Exception as e:
print(f"Could not merge 'master' into PR #{pr.number} ({pr.head.ref}): {e}")
env:
GITHUB_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
GITHUB_REPOSITORY: ${{ github.repository }}