Merge remote-tracking branch 'lethosor/auto-update-submodules' into develop

develop
lethosor 2021-02-18 23:15:06 -05:00
commit 5d9d51e327
No known key found for this signature in database
GPG Key ID: 76A269552F4F58C1
3 changed files with 73 additions and 0 deletions

@ -0,0 +1,29 @@
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: |
git config user.name "DFHack-Urist via GitHub Actions"
git config user.email "DFHack-Urist@users.noreply.github.com"
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