Skip to content

Conversation

Copy link

Copilot AI commented Sep 26, 2025

Overview

This PR adds automated upmerge functionality that builds on the existing upmerge-test.yml workflow. When a PR successfully passes the upmerge test, the system now automatically creates upmerge PRs for all compatible target branches, significantly reducing manual maintenance overhead.

What's Changed

New Workflows Added

🔄 upmerge-auto.yml - The main automation workflow that:

  • Triggers when upmerge-test completes successfully
  • Downloads test results to identify safe target branches
  • For each compatible branch, creates a new upmerge branch with:
    • Merged changes from the original PR
    • Updated Maven versions appropriate for the target branch
    • A new PR ready for manual review and approval

💬 upmerge-auto-comment.yml - Result reporting workflow that:

  • Posts formatted summary comments on the original PR
  • Reports which upmerges succeeded and failed
  • Provides troubleshooting guidance for any failures

Example Workflow

When a PR is created against candidate-9.8.x:

  1. upmerge-test runs and determines the changes can safely merge to candidate-9.10.x, candidate-9.12.x, and master
  2. upmerge-auto automatically creates three separate PRs:
    • Auto upmerge from candidate-9.8.x to candidate-9.10.x (Original PR #123)
    • Auto upmerge from candidate-9.8.x to candidate-9.12.x (Original PR #123)
    • Auto upmerge from candidate-9.8.x to master (Original PR #123)
  3. upmerge-auto-comment posts a summary on the original PR showing which upmerges succeeded

Safety Features

  • Manual Review Required: All auto-created PRs require manual approval before merging
  • Dry Run Mode: Set repository variable AUTO_UPMERGE_DRY_RUN=true for testing
  • Independent Processing: If one upmerge fails, others continue
  • Comprehensive Error Handling: Detailed logging and failure reporting
  • Same Logic: Uses identical branch resolution logic as the existing upmerge-test

Configuration

The workflows require these permissions (already included):

  • contents: write - Create branches and commits
  • pull-requests: write - Create PRs and post comments
  • actions: read - Download test artifacts

Optional repository variable:

  • AUTO_UPMERGE_DRY_RUN - Set to "true" to enable dry-run mode

Documentation

Added comprehensive documentation in docs/AUTO_UPMERGE.md covering:

  • How the system works
  • Configuration options
  • Safety features and troubleshooting
  • Testing procedures
  • Maintenance guidelines

Benefits

  • Reduces Manual Work: Eliminates the need to manually create upmerge PRs
  • Ensures Consistency: Uses the same tested logic as upmerge-test
  • Maintains Safety: All upmerges still require manual review
  • Improves Visibility: Clear reporting of upmerge status
  • Scales Better: Handles complex upmerge chains automatically

This automation will significantly streamline the branch maintenance process while maintaining all existing safety controls.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • central.sonatype.com
    • Triggering command: /usr/lib/jvm/temurin-17-jdk-amd64/bin/java --enable-native-access=ALL-UNNAMED -classpath /usr/share/apache-maven-3.9.11/boot/plexus-classworlds-2.9.0.jar -Dclassworlds.conf=/usr/share/apache-maven-3.9.11/bin/m2.conf -Dmaven.home=/usr/share/apache-maven-3.9.11 -Dlibrary.jansi.path=/usr/share/apache-maven-3.9.11/lib/jansi-native -Dmaven.multiModuleProjectDirectory=/home/REDACTED/work/HPCC-JAPIs/HPCC-JAPIs org.codehaus.plexus.classworlds.launcher.Launcher clean compile -q (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

Analyze the Github Action in upmerge-test.yml and use it as a guide to create a new Github Action that when the upmerge-test succeeds will automatically upmerge a PR from the candidate branch it was merged into all the way through to master. IE: A PR going into candidate-9.8.x would upmerge to 9.10.x, 9.12.x 9.14.x, 10.x, and master


✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.

Copilot AI and others added 2 commits September 26, 2025 13:12
Co-authored-by: jpmcmu <7181610+jpmcmu@users.noreply.github.com>
…d fix YAML syntax issues

Co-authored-by: jpmcmu <7181610+jpmcmu@users.noreply.github.com>
Copilot AI changed the title Analyze the Github Action in upmerge-test.yml and use it as a guide to create a new Github Action that when the upmerge-test succeeds will automatically upmerge a PR from the candidate branch it was merged into all the way through to master. IE: A PR g... Add automatic upmerge workflows to streamline branch maintenance Sep 26, 2025
Copilot AI requested a review from jpmcmu September 26, 2025 13:20
jpmcmu pushed a commit that referenced this pull request Dec 3, 2025
…IssuesWorkflow

Hpcc4 j 755 baremetal known server issues workflow
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants