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/OpenSTA runs-on: ${{ vars.USE_SELF_HOSTED == 'true' && 'self-hosted' || '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/OpenSTA') && 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/OpenSTA 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 }}