Add workflow to auto-update submodules
parent
f3dd38a038
commit
fa475949f4
@ -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
|
Loading…
Reference in New Issue