Skip to content

Upstream-sync → protected master #806

Upstream-sync → protected master

Upstream-sync → protected master #806

Workflow file for this run

name: Upstream-sync → protected master
on:
schedule: # run every night
- cron: '7 2 * * *'
workflow_dispatch: # (optional) manual trigger
permissions: # minimum perms the job needs
contents: write # push the sync branch
pull-requests: write # open, approve & merge the PR
actions: write # update workflow files
concurrency: # never let two syncs race
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
jobs:
sync:
runs-on: ubuntu-latest
steps:
# 1. full clone so we always have the latest tip
- uses: actions/checkout@v4
with:
fetch-depth: 0
# 2. fetch upstream & copy it to a side branch
- name: Update upstream-sync branch
run: |
git remote add upstream https://github.com/openjdk/jdk17u-dev.git
git fetch upstream master
git checkout -B upstream-sync upstream/master
git push -f origin upstream-sync
# 3. Open or update the PR `upstream-sync -> master`
- uses: peter-evans/create-pull-request@v7
id: cpr
with:
branch: upstream-sync
base: master
title: "Automated upstream merge"
body: "Nightly sync of openjdk/jdk:master into this fork"
# 4. Auto-approve that PR
- if: steps.cpr.outputs.pull-request-operation != 'none'
uses: hmarr/auto-approve-action@v4
with:
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
# 5. Enable auto-merge so GitHub merges as soon as
# branch protection requirements are satisfied
- if: steps.cpr.outputs.pull-request-operation == 'created'
uses: peter-evans/enable-pull-request-automerge@v3
with:
pull-request-number: ${{ steps.cpr.outputs.pull-request-number }}
merge-method: merge