forked from DMOJ/online-judge
-
Notifications
You must be signed in to change notification settings - Fork 6
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
835f12b
commit bde3ea0
Showing
1 changed file
with
34 additions
and
24 deletions.
There are no files selected for viewing
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
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,41 +1,51 @@ | ||
name: dmoj-merge | ||
name: 'Upstream Sync' | ||
|
||
on: | ||
schedule: | ||
- cron: '0 7 * * 1,4' | ||
# scheduled at 07:00 every Monday and Thursday | ||
|
||
workflow_dispatch: # click the button on Github repo! | ||
|
||
|
||
jobs: | ||
sync_with_upstream: | ||
sync_latest_from_upstream: | ||
runs-on: ubuntu-latest | ||
name: Sync main with upstream latest | ||
name: Sync latest commits from upstream repo | ||
|
||
steps: | ||
# REQUIRED step | ||
# Step 1: run a standard checkout action, provided by github | ||
- name: Checkout main | ||
uses: actions/checkout@v4 | ||
- name: Checkout target repo | ||
uses: actions/checkout@v3 | ||
with: | ||
ref: dmoj | ||
# submodules: 'recursive' ### may be needed in your situation | ||
# optional: set the branch to checkout, | ||
# sync action checks out your 'target_sync_branch' anyway | ||
ref: dmoj | ||
# REQUIRED if your upstream repo is private (see wiki) | ||
persist-credentials: false | ||
|
||
# Step 2: run this sync action - specify the upstream repo, upstream branch to sync with, and target sync branch | ||
- name: Pull (Fast-Forward) upstream changes | ||
# REQUIRED step | ||
# Step 2: run the sync action | ||
- name: Sync upstream changes | ||
id: sync | ||
uses: aormsby/Fork-Sync-With-Upstream-action@v2.1 | ||
uses: aormsby/Fork-Sync-With-Upstream-action@v3.4 | ||
with: | ||
upstream_repository: DMOJ/online-judge | ||
upstream_branch: master | ||
target_branch: dmoj | ||
git_pull_args: --ff-only # optional arg use, defaults to simple 'pull' | ||
github_token: ${{ secrets.GITHUB_TOKEN }} # optional, for accessing repos that require authentication | ||
|
||
# Step 3: Display a message if 'sync' step had new commits (simple test) | ||
- name: Check for new commits | ||
if: steps.sync.outputs.has_new_commits | ||
run: echo "There were new commits." | ||
target_sync_branch: dmoj | ||
# REQUIRED 'target_repo_token' exactly like this! | ||
target_repo_token: ${{ secrets.GITHUB_TOKEN }} | ||
upstream_sync_branch: main | ||
upstream_sync_repo: aormsby/Fork-Sync-With-Upstream-action | ||
upstream_repo_access_token: ${{ secrets.UPSTREAM_REPO_SECRET }} | ||
|
||
# Step 4: Print a helpful timestamp for your records (not required, just nice) | ||
- name: Timestamp | ||
run: date | ||
|
||
# Step 3: Display a sample message based on the sync output var 'has_new_commits' | ||
- name: New commits found | ||
if: steps.sync.outputs.has_new_commits == 'true' | ||
run: echo "New commits were found to sync." | ||
|
||
- name: No new commits | ||
if: steps.sync.outputs.has_new_commits == 'false' | ||
run: echo "There were no new commits." | ||
|
||
- name: Show value of 'has_new_commits' | ||
run: echo ${{ steps.sync.outputs.has_new_commits }} |