Automatically sync branch from upstream. #17621
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Automatically sync branch from upstream. | |
on: | |
schedule: | |
- cron: "*/5 * * * *" | |
workflow_dispatch: | |
inputs: | |
force: | |
description: Use GitHub --force push. | |
default: | |
repository_dispatch: | |
jobs: | |
Sync-Branch-From-Upstream: | |
name: Automatic sync 'master' from The-OpenROAD-Project/OpenROAD | |
runs-on: ubuntu-latest | |
# Only allow one action to run at a time. | |
concurrency: sync-branch-from-upstream | |
# Action needs no permissions, as push is granted via adding a deploy key | |
# with write access to the $DEPLOY_KEY secret. | |
permissions: | |
contents: read | |
# Don't run on the upstream repository and only run on the right branch. | |
if: ${{ (github.repository != 'The-OpenROAD-Project/OpenROAD') && endsWith(github.ref, '/master') }} | |
steps: | |
- uses: The-OpenROAD-Project/actions/upstream_sync@main | |
env: | |
HAS_DEPLOY_KEY: ${{ !!(secrets.DEPLOY_KEY) }} | |
if: ${{ env.HAS_DEPLOY_KEY == 'true' }} | |
with: | |
upstreamRepo: The-OpenROAD-Project/OpenROAD | |
upstreamBranch: master | |
# To always overwrite master branch, set UPSTREAM_SYNC to the exact | |
# string 'always overwrite master branch'. | |
# You can also manually trigger a workflow dispatch with the force | |
# value equal to 'true'. | |
force: ${{ github.event.inputs.force || (secrets.UPSTREAM_SYNC == 'always overwrite master branch') }} | |
deployKey: ${{ secrets.DEPLOY_KEY }} |