Add workflow to auto-update submodules

develop
lethosor 2021-02-18 22:05:43 -05:00
parent f3dd38a038
commit fa475949f4
No known key found for this signature in database
GPG Key ID: 76A269552F4F58C1
3 changed files with 71 additions and 0 deletions

@ -0,0 +1,27 @@
name: Update submodules
on:
schedule:
- cron: '0 7 * * *'
workflow_dispatch:
inputs:
branch:
description: DFHack branch to update
required: false
default: develop
jobs:
run:
runs-on: ubuntu-latest
steps:
- name: Clone DFHack
uses: actions/checkout@v2
with:
fetch-depth: 0
ref: ${{ github.event.inputs.branch }}
submodules: true
- name: Update submodules
run: |
if bash -x ci/update-submodules.bash; then
git push
fi

@ -0,0 +1,38 @@
#!/bin/bash
set -e
message_file=.git/COMMIT_EDITMSG
get_git_root() {
git rev-parse --show-toplevel
}
write_msg() {
echo "$@" >> "${message_file}"
}
git_root="$(get_git_root)"
cd "${git_root}"
rm -f "${message_file}"
write_msg "Auto-update submodules"
write_msg ""
cat ci/update-submodules.manifest | while read path branch; do
cd "${git_root}/${path}"
test "${git_root}" != "$(get_git_root)"
git checkout "${branch}"
git pull
cd "${git_root}"
if ! git diff --quiet --ignore-submodules=dirty -- "${path}"; then
git add "${path}"
write_msg "${path}: ${branch}"
fi
done
if ! git diff --exit-code --cached; then
git commit --file "${message_file}" --no-edit
exit 0
else
exit 1
fi

@ -0,0 +1,6 @@
library/xml master
scripts master
plugins/stonesense master
depends/libzip dfhack
depends/libexpat dfhack
depends/xlsxio dfhack