RetroDECK/.github/workflows/submodule-update.yml

58 lines
1.8 KiB
YAML
Raw Permalink Normal View History

name: Sunday Submodule Update
on:
# At 4:00 (CET)
# schedule:
# - cron: '0 2 * * 0'
workflow_dispatch:
jobs:
update_submodules:
name: Update submodules and create PR
runs-on: ubuntu-latest
steps:
- name: Checkout repo with submodules
uses: actions/checkout@v2
with:
token: ${{ secrets.REPO_TOKEN }}
submodules: recursive
- name: Fetch all remote branches
run: git fetch --all
- name: List cooker branches by date
id: list_branches
run: |
BRANCHES=$(git for-each-ref --sort=-committerdate refs/remotes/origin/cooker* --format='%(refname)') echo “::set-output name=branches::$BRANCHES”
- name: Select target branch
id: select_branch
run: |
TARGET_BRANCH=(echo{{ steps.list_branches.outputs.branches }} | head -n 1)
echo “::set-output name=target_branch::$TARGET_BRANCH”
git checkout $TARGET_BRANCH
echo "Working on $TARGET_BRANCH"
- name: Update submodules with command
run: git submodule update --remote --merge --recursive
- name: Configure Git credentials
run: |
git config --global user.name 'GitHub bot'
git config --global user.email 'bot@noreply.github.com'
- name: Commit and push changes
run: |
git commit -am "Sunday submodule update"
git push origin HEAD:submodule-update
- name: Create PR
uses: repo-sync/pull-request@v2
with:
github_token: ${{ secrets.REPO_TOKEN }}
pr_title: "Sunday submodule update"
pr_body: "This PR updates the submodules to the latest commit on their remote repositories."
source_branch: "submodule-update"
destination_branch: "cooker*"