diff --git a/.github/workflows/sync-upstream.yml b/.github/workflows/sync-upstream.yml new file mode 100644 index 000000000..940c6f12a --- /dev/null +++ b/.github/workflows/sync-upstream.yml @@ -0,0 +1,41 @@ +name: Sync Upstream + +env: + # Required, URL to upstream (fork base) + UPSTREAM_URL: "https://github.com/ohmyzsh/ohmyzsh.git" + # Required, token to authenticate bot, could use ${{ secrets.GITHUB_TOKEN }} + # Over here, we use a PAT instead to authenticate workflow file changes. + WORKFLOW_TOKEN: ${{ secrets.GITHUB_TOKEN }} + # Optional, defaults to main + UPSTREAM_BRANCH: master + # Optional, defaults to UPSTREAM_BRANCH + DOWNSTREAM_BRANCH: master + # Optional fetch arguments + FETCH_ARGS: "" + # Optional merge arguments + MERG_ARGS: "" + # Optional toggle to spawn time logs (keeps action active) + SPAWN_LOGS: "false" # "true" or "false" + +# This runs every day on 2000 UTC +on: + schedule: + - cron: '0 20 * * *' + # Allows manual workflow run (must in default branch to work) + workflow_dispatch: + +jobs: + build: + runs-on: ubuntu-latest + steps: + - name: GitHub Sync to Upstream Repository + uses: dabreadman/sync-upstream-repo@v1.3.0 + with: + upstream_repo: ${{ env.UPSTREAM_URL }} + upstream_branch: ${{ env.UPSTREAM_BRANCH }} + downstream_branch: ${{ env.DOWNSTREAM_BRANCH }} + token: ${{ secrets.GITHUB_TOKEN }} + fetch_args: ${{ env.FETCH_ARGS }} + merge_args: ${{ env.MERGE_ARGS }} + push_args: ${{ env.PUSH_ARGS }} + spawn_logs: ${{ env.SPAWN_LOGS }}