2023-09-25 13:33:23 +00:00
|
|
|
name: Sunday Submodule Update
|
|
|
|
|
|
|
|
on:
|
|
|
|
# At 4:00 (CET)
|
2023-12-20 09:14:33 +00:00
|
|
|
# schedule:
|
|
|
|
# - cron: '0 2 * * 0'
|
2023-09-25 13:33:23 +00:00
|
|
|
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*"
|